Ejemplo n.º 1
0
Archivo: DES.cs Proyecto: ForNeVeR/pnet
 // Determine if a DES key value is "weak".
 public static bool IsWeakKey(byte[] rgbKey)
 {
     if (rgbKey == null || rgbKey.Length != 8)
     {
         throw new CryptographicException
                   (_("Crypto_InvalidKeySize"),
                   ((rgbKey == null) ? 0 : rgbKey.Length).ToString());
     }
     return(CryptoMethods.IsWeakKey(rgbKey, 0));
 }
Ejemplo n.º 2
0
 // Generate a random key value.
 public override void GenerateKey()
 {
     byte[] key = new byte [8];
     do
     {
         CryptoMethods.GenerateRandom(key, 0, 8);
     }while(CryptoMethods.IsSemiWeakKey(key, 0) ||
            CryptoMethods.IsWeakKey(key, 0));
     if (KeyValue != null)
     {
         // Clear the previous key value.
         Array.Clear(KeyValue, 0, KeyValue.Length);
     }
     KeyValue = key;
 }