我正在编写一个函数来在文件上生成SHA256哈希。 这是我使用的代码
public string ComputeHash(Byte[] inputBytes)
{
Byte[] hashedBytes = new SHA256Managed().ComputeHash(inputBytes);
return BitConverter.ToString(hashedBytes);
}
很简单。事实上,根据我尝试的一些工具,产生的散列似乎没有效果,实际上,它与我见过的任何其他sha256字符串不同(甚至不是256字节)。 一个结果,例如是
12-10-B2-60-24-75-11-95-B5-F7-F6-64-39-C3-22-9F-E7-E7-D4-13-69-18-99-C5-A7-C5-EC-2F-E2-D6-09-19
即使我删除了每个字符,一切都是大写的,而我总是看到小写的表示。 (这也是一个问题)我想知道我是否以正确的方式使用该库。 请帮忙
答案 0 :(得分:5)
SHA-256表示256 位,又名32 bytes ,这就是您所看到的。
小写和大写在这里是无关紧要的 - 这只是 bytes 作为字符串的表示。同上字节之间是否有连字符。不同的工具产生不同的十六进制字符串表示,这就是...所以我希望“1210B2”等同于“12-10-b2”等。