使用C#生成文本的MD5哈希

时间:2010-09-28 08:45:41

标签: hash cryptography md5

我了解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”

1 个答案:

答案 0 :(得分:1)

编写此代码将得到与网站相同的结果:

var hash = MD5.Create().ComputeHash(Encoding.UTF8.GetBytes(@"text".ToCharArray()));
foreach(byte h in hash)
{
     Console.Write(h.ToString("x2"));
}

技巧是将每个字节打印为2个十六进制数字(因此为x2)