byte[] bin = new byte[len];
...
MemoryStream msEncrypt = new MemoryStream(bin);
SymmetricAlgorithm rijn = SymmetricAlgorithm.Create();
rijn.Key = new byte[32] { ... };
rijn.IV = new byte[16] { ... };
CryptoStream encStream = new CryptoStream(msEncrypt, rijn.CreateEncryptor(rijn.Key, rijn.IV), CryptoStreamMode.Write);
encStream.Write(bin, 0, len);
//encStream.FlushFinalBlock();
encrypted = new byte[len];
msEncrypt.Position = 0;
msEncrypt.Read(encrypted, 0, len);
//encStream.Close();
msEncrypt.Close();
симметричное шифрование, не работает в связке с memoryStream
Код:
во-первых, на выходе получаем, что массив encrypted совпадает с исходным bin
а во-вторых, при попытке закрыть поток encStream (или сделать FlushFinalBlock) ругается на размер потока ("Memory stream is not expandable." либо "Length of the data to decrypt is invalid." - через раз) :confused:
попробовал сделать через файловый поток - все ок. но при этом создается файл, а мне этого не нужно.