双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

加密解密CryptoStream的问题

hahahawk hahahawk 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
加密字符串存在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则没问题。请指教。谢谢。
...全文
评论 5
收藏 已收藏
分享
返回顶部
hahahawk
C# 111,129 成员 642,540 内容