md5加密后乱码,求指导

Mr.Huang…… 2023-04-14 14:21:45

 

MD5 d5 = MD5.Create();
            byte[] byte_明文 = Encoding.UTF8.GetBytes("测试文本123ABC_!@#$%_abc{}()+【】()");
            byte[] byte_密文 = d5.ComputeHash(byte_明文);
            MessageBox.Show(Encoding.UTF8.GetString(byte_密文).ToString());

输出:,�ď�Y'v���ݤ��

怎么输出全是乱码呢?

...全文
221 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-04-14
精选
  • 打赏
  • 举报
回复
您的问题已经帮您同步至问答, 链接: https://ask.csdn.net/questions/7924901, 请您保持关注, 如果回答有帮助解决此问题, 麻烦您动动小手给相关的回答点赞, Ada会在评论区为您更新结题状态
大然然 2023-04-14
  • 举报
回复
@CSDN-Ada助手 人家问的是c#,你给弄到java板块的问答。。。。
Pengsen Ma 2023-04-14
  • 打赏
  • 举报
回复

MD5加密算法生成的结果是一串16进制数,你可以使用以下方法将字节数组转换成16进制字符串:

MD5 d5 = MD5.Create();
byte[] byte_明文 = Encoding.UTF8.GetBytes("测试文本123ABC_!@#$%_abc{}()+【】()");
byte[] byte_密文 = d5.ComputeHash(byte_明文);

StringBuilder builder = new StringBuilder();
foreach (byte b in byte_密文) {
    builder.Append(b.ToString("x2"));
}
string str_密文 = builder.ToString();

MessageBox.Show(str_密文);

这样,就可以将字节数组转换成16进制字符串输出了。

111,101

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧