解密之后信息带有乱字符,问题在哪里?

shyworm shyworm 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
代码不复杂:

string msg = "Hello World!"; //需要加密的信息
byte[] buf = Encoding.Unicode.GetBytes(msg);

RijndaelManaged rm = new RijndaelManaged();
//=======================================================================
MemoryStream inStream = new MemoryStream(buf);
MemoryStream outStream = new MemoryStream();
CryptoStream cStream = new CryptoStream(outStream,
rm.CreateEncryptor(rm.Key,rm.IV),CryptoStreamMode.Write);

inStream.WriteTo(cStream);//加密
//=======================================================================
byte[] cbuf = outStream.GetBuffer();
string cstr = Encoding.Unicode.GetString(cbuf);
Console.WriteLine(cstr);// 加密之后的数据
//=======================================================================
MemoryStream inCryptoStream = new MemoryStream(cbuf);
MemoryStream outDecStream = new MemoryStream();
CryptoStream DecStream = new CryptoStream(outDecStream,
rm.CreateDecryptor(rm.Key,rm.IV),CryptoStreamMode.Write);

inCryptoStream.WriteTo(DecStream);//解密
//=======================================================================
byte[] decbuf = outDecStream.GetBuffer();
string decstr = Encoding.Unicode.GetString(decbuf,0,buf.Length);
Console.WriteLine(decstr); //解密之后的信息



但是解密之后的信息后面成了乱字符:
Hello Wo?替?鳃

请大侠们多指点,错误究竟在哪里?
...全文

相关推荐

评论 11
收藏 已收藏
分享
返回顶部
shyworm
C# 111,128 成员 642,536 内容