/// Returns an encrypted output stream.
let encryptAES (key: byte[]) (iv: byte[]) (outputStream: Stream) : CryptoStream =
assert (key.Length = 32 && iv.Length = 16)
- use aes = new AesManaged ()
+ use aes = new AesCryptoServiceProvider () // Default mode is CBC.
aes.KeySize <- 256
let encryptor = aes.CreateEncryptor (key, iv)
new CryptoStream (outputStream, encryptor, CryptoStreamMode.Write)
/// Returns a decrypted input stream.
let decryptAES (key: byte[]) (iv: byte[]) (inputStream: Stream) : CryptoStream =
assert (key.Length = 32 && iv.Length = 16)
- use aes = new AesManaged ()
+ use aes = new AesCryptoServiceProvider ()
aes.KeySize <- 256
let decryptor = aes.CreateDecryptor (key, iv)
new CryptoStream (inputStream, decryptor, CryptoStreamMode.Read)