+ new CryptoStream (inputStream, decryptor, CryptoStreamMode.Read)
+
+ // Create a stream to compute the HMAC-SHA256 against all data being written.
+ let HMACStream (key: byte[]) (outputStream: Stream) : Stream * HMACSHA256 =
+ assert (key.Length = 32)
+ let hmac = new HMACSHA256 (key)
+ new CryptoStream (outputStream, hmac, CryptoStreamMode.Write) :> Stream, hmac
+
+ let ComputeHMAC (key: byte[]) (inputStream: Stream) : byte[] =
+ assert (key.Length = 32)
+ let hmac = new HMACSHA256 (key)
+ hmac.ComputeHash inputStream
\ No newline at end of file