2

我正在编写一个函数来在文件上生成 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

即使我删除了每个 - 字符,一切都是大写的,而我总是看到小写表示。(这也是一个问题吗)我想知道我是否以正确的方式使用图书馆。请帮忙

4

1 回答 1

5

SHA-256 表示 256 bits ,也就是你所看到的32 bytes 。

小写和大写在这里无关紧要 - 这只是字节作为字符串的表示。字节之间是否有连字符同上。不同的工具产生不同的十六进制字符串表示,仅此而已......所以我希望“1210B2”等同于“12-10-b2”等。

于 2011-01-28T16:13:42.330 回答