加密解密CryptoStream的问题
加密字符串存在MemoryStream中解密为什么不成功?
byte[] b1 = new byte[16]{100,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
string s="",err="";
System.IO.MemoryStream ms = new MemoryStream();
// fs = File.Open(cryptfile,FileMode.Create,FileAccess.Write);
RijndaelManaged rm = new RijndaelManaged();
CryptoStream cs = new CryptoStream(ms, rm.CreateEncryptor(b1,b1), CryptoStreamMode.Write);
StreamWriter sw = new System.IO.StreamWriter(cs,System.Text.Encoding.Default);
sw.Write("good");
sw.Flush();
sw.Close();
cs.Close();
ms.Close();
byte[] buffer = ms.GetBuffer();
EchoBuf(buffer);
System.IO.MemoryStream ms2 = new MemoryStream(buffer);
CryptoStream cs2 = new CryptoStream(ms2, rm.CreateEncryptor(b1,b1), CryptoStreamMode.Read);
StreamReader sr = new System.IO.StreamReader(cs2,System.Text.Encoding.Default);
s=sr.ReadToEnd();
sr.Close();
cs2.Close();
ms2.Close();
MessageBox.Show("s=" + s);
byte[] buffer2 = ms2.GetBuffer();
EchoBuf(buffer2);
解密出来的s是乱字符。如果把MemoryStream换成FileStream则没问题。请指教。谢谢。