public void Aes256BasicCipher1_SameInstance_CompareOutput()
        {
            // Compare the Encrypt(string...) and Encrypt(byte[]..) outputs
            string plainData = "Hello my friends...";
            byte[] plDt = Encoding.Default.GetBytes(plainData);
            string password = "******";
            string salt = "44qdbcdef;;53#";
            byte[] encryptedPlainData;
            string encryptedPlainDataAsString;
            string encryptedPlainDataAsString2;
            GenericSymmetricCipher<AesManaged> d = new GenericSymmetricCipher<AesManaged>();
            d.Encoding = Encoding.Default;

            encryptedPlainData = d.Encrypt(plDt, password, salt);
            encryptedPlainDataAsString = Convert.ToBase64String(encryptedPlainData);
            encryptedPlainDataAsString2 = d.EncryptToString(plainData, password, salt);
        }
        public void Aes128BasicCipher_SameInstance_CompareOutput()
        {
            GenericSymmetricCipher<AesManaged> d = new GenericSymmetricCipher<AesManaged>();
            string plainData = "Hello my friends...";
            byte[] plDt = d.Encoding.GetBytes(plainData);
            string password = "******";
            string salt = "44qdbcdef;;53#";
            byte[] saltBytes = d.Encoding.GetBytes(salt);
            byte[] encrypted;
            byte[] decrypted;
            string decryptedString;

            d.KeySize = 128;
            encrypted = d.Encrypt(plDt, password, salt);
            decrypted = d.Decrypt(encrypted, password, saltBytes);

            decryptedString = d.Encoding.GetString(decrypted);

            Assert.AreEqual(plainData, decryptedString);
        }
        public void Aes256BasicCipher_MultiInstance_CompareOutput()
        {
            GenericSymmetricCipher<AesManaged> cipherA = new GenericSymmetricCipher<AesManaged>();
            GenericSymmetricCipher<AesManaged> cipherB = new GenericSymmetricCipher<AesManaged>();

            string plainMessage = "Encrypt me!";
            string encryptedMessage;
            string decryptedMessage;
            string password = "******";
            string salt = "k;dwa.r3-146;:##+$";

            encryptedMessage = cipherA.EncryptToString(plainMessage, password, salt);

            decryptedMessage = cipherB.DecryptToString(encryptedMessage, password, salt);

            Assert.AreEqual(plainMessage, decryptedMessage);
        }
        public void Aes127ChangeKeySize_SameInstance_InvalidKeySizeFail()
        {
            GenericSymmetricCipher<AesManaged> d = new GenericSymmetricCipher<AesManaged>();
            string plainData = "Hello my friends...";
            byte[] plDt = d.Encoding.GetBytes(plainData);
            string password = "******";
            string salt = "44qdbcdef;;53#";
            byte[] encrypted;

            d.KeySize = 129;
            encrypted = d.Encrypt(plDt, password, salt);
        }