I may have a stupid question, but I can't get it to work. I am doing AES encryption / decryption in F # according to the MSDN example which is in C #:
http://msdn.microsoft.com/en-us/library/system.security.cryptography.aes.aspx
My encryption method is as follows:
let EncryptStringToBytesAes (plainText : string) (key : byte[]) (iv : byte[]) = use aesAlg = Aes.Create() aesAlg.Key <- key aesAlg.IV <- iv // Create a decrytor to perform the stream transform. let encryptor = aesAlg.CreateEncryptor(aesAlg.Key, aesAlg.IV) // Create the streams used for encryption. use msEncrypt = new MemoryStream() use csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write) use swEncrypt = new StreamWriter(csEncrypt) swEncrypt.Write(plainText) msEncrypt.ToArray()
The problem is that this method always returns me an empty byte array. I have no exception. The key and IV are the correct byte arrays. It seems that StreamWriter is not working ...
Thank you for your help.
source share