111,101
社区成员




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���ݤ��
怎么输出全是乱码呢?
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进制字符串输出了。