我了解System.Security.Cryptography在MD5.ComputeHash中有一个MD5哈希方法。但是,该方法接受并返回字节。我不明白如何使用String键和哈希使用此方法。我试着通过这样做来解决,
var hash = MD5.Create().ComputeHash(Encoding.UTF8.GetBytes(@"text".ToCharArray()));
foreach(byte h in hash)
{
Console.Write((char)h);
}
然而,结果输出是乱码字符串。为了比较,在this website中,输入“text”将导致“1cb251ec0d568de6a929b520c4aed8d1”
答案 0 :(得分:1)
编写此代码将得到与网站相同的结果:
var hash = MD5.Create().ComputeHash(Encoding.UTF8.GetBytes(@"text".ToCharArray()));
foreach(byte h in hash)
{
Console.Write(h.ToString("x2"));
}
技巧是将每个字节打印为2个十六进制数字(因此为x2)