let encryptRSA (publicKey: Key) (plaindata: Data) : Data =
use rsa = new RSACryptoServiceProvider (rsaKeySize)
rsa.FromXmlString publicKey
let encryptRSA (publicKey: Key) (plaindata: Data) : Data =
use rsa = new RSACryptoServiceProvider (rsaKeySize)
rsa.FromXmlString publicKey
let decryptRSA (privateKey: Key) (cipherdata: Data) : Data =
use rsa = new RSACryptoServiceProvider (rsaKeySize)
rsa.FromXmlString privateKey
let decryptRSA (privateKey: Key) (cipherdata: Data) : Data =
use rsa = new RSACryptoServiceProvider (rsaKeySize)
rsa.FromXmlString privateKey
if key.Length <> aesKeySize / 8 then raise KeySizeError
if iv.Length <> 16 then raise IVSizeError
use aes = new AesCryptoServiceProvider (KeySize = aesKeySize) // Default mode is CBC.
if key.Length <> aesKeySize / 8 then raise KeySizeError
if iv.Length <> 16 then raise IVSizeError
use aes = new AesCryptoServiceProvider (KeySize = aesKeySize) // Default mode is CBC.
- let encryptor = aes.CreateEncryptor (key, iv)
- new CryptoStream (outputStream, encryptor, CryptoStreamMode.Write)
+ new CryptoStream (outputStream, aes.CreateEncryptor (key, iv), CryptoStreamMode.Write)
/// Returns a decrypted input stream.
let decryptAES (key: byte[]) (iv: byte[]) (inputStream: Stream) : CryptoStream =
if key.Length <> aesKeySize / 8 then raise KeySizeError
if iv.Length <> 16 then raise IVSizeError
use aes = new AesCryptoServiceProvider (KeySize = aesKeySize)
/// Returns a decrypted input stream.
let decryptAES (key: byte[]) (iv: byte[]) (inputStream: Stream) : CryptoStream =
if key.Length <> aesKeySize / 8 then raise KeySizeError
if iv.Length <> 16 then raise IVSizeError
use aes = new AesCryptoServiceProvider (KeySize = aesKeySize)
- let decryptor = aes.CreateDecryptor (key, iv)
- new CryptoStream (inputStream, decryptor, CryptoStreamMode.Read)
+ new CryptoStream (inputStream, aes.CreateDecryptor (key, iv), CryptoStreamMode.Read)
// Create a stream to compute the HMAC-SHA256 against all data being written.
let HMACStream (key: byte[]) (outputStream: Stream) : Stream * HMACSHA256 =
// Create a stream to compute the HMAC-SHA256 against all data being written.
let HMACStream (key: byte[]) (outputStream: Stream) : Stream * HMACSHA256 =