public void AESFileTest2() { string keyString = "unicorn"; string bogusKeyString = "horsies"; string plainText = "ATTACK AT DAWN"; string fileName = "test.txt"; string encFileName = "text.enc"; string salt = AESWrapper.GenerateSaltString(); byte[] key = AESWrapper.GenerateKeyByte(keyString, salt, 20000); byte[] invalidKey = AESWrapper.GenerateKeyByte(bogusKeyString, salt, 20000); System.IO.File.WriteAllText(fileName, plainText); AESWrapper.EncryptFileToFile(fileName, encFileName, key); byte[] enc = System.IO.File.ReadAllBytes(encFileName); Assert.AreEqual(AESWrapper.DecryptToString(enc, key), plainText); bool decryptionFailed = false; try { Assert.AreEqual(AESWrapper.DecryptToString(enc, invalidKey), plainText); } catch (Exception e) { decryptionFailed = true; } Assert.IsTrue(decryptionFailed); System.IO.File.Delete(fileName); System.IO.File.Delete(encFileName); }