// Determine if a TripleDES key value is "weak". public static bool IsWeakKey(byte[] rgbKey) { if (rgbKey == null || (rgbKey.Length != 16 && rgbKey.Length != 24)) { throw new CryptographicException (_("Crypto_InvalidKeySize"), ((rgbKey == null) ? 0 : rgbKey.Length).ToString()); } if (rgbKey.Length == 16) { return(CryptoMethods.SameKey(rgbKey, 0, rgbKey, 8)); } else { return(CryptoMethods.SameKey(rgbKey, 0, rgbKey, 8) || CryptoMethods.SameKey(rgbKey, 8, rgbKey, 16)); } }