private bool IsKeySizeValid(int size, Algorithm algorithm) { SymmetricAlgorithm alg; switch (algorithm) { case Algorithm.DES: alg = new DESCryptoServiceProvider(); break; case Algorithm.TripleDES: alg = new TripleDESCryptoServiceProvider(); break; case Algorithm.RC2: alg = new RC2CryptoServiceProvider(); break; case Algorithm.Rijndael: alg = Rijndael.Create(); break; default: return(false); } return(alg.ValidKeySize(size)); }
public static bool ValidateKeySize(EncryptionAlgorithm algID, int Lenght) { switch (algID) { case EncryptionAlgorithm.DES: DES des = new DESCryptoServiceProvider(); return(des.ValidKeySize(Lenght)); case EncryptionAlgorithm.Rc2: RC2 rc = new RC2CryptoServiceProvider(); return(rc.ValidKeySize(Lenght)); case EncryptionAlgorithm.Rijndael: Rijndael rj = new RijndaelManaged(); return(rj.ValidKeySize(Lenght)); case EncryptionAlgorithm.TripleDes: TripleDES tDes = new TripleDESCryptoServiceProvider(); return(tDes.ValidKeySize(Lenght)); default: throw new CryptographicException("Algorithm " + algID + " Not Supported!"); } }