我已经努力了4天,试图在c#中实现哈希算法,该算法的工作方式类似于FIPS 198标准文档。我已经达到了一个价值

06070405020300010e0f0c0d0a0b0809767774753636363636363636363636363636363636363636363636363636363636363636363636363636363636536166163666

我将这个值插入到http://www.fileformat.info/tool/hash.htm上的二进制哈希工具中,而SHA-1值正是我所期望的,但是我无法在c#中复制它。

期望值:

SHA-1:74766e5f6913e8cb6f7f108a11298b15010c353a

当我在C#中使用SHA1类时,我得到的值是a969fdc725114c8418ca5c23946bd09977054ff6,这与在字符串哈希工具中输入我的值相同。

有人可以指出正确的方向来产生我所需要的东西。

最佳答案

您将需要将十六进制字符串数据转换为字节数组。在线上有很多有关如何执行此操作的示例。已发布到SO的一个示例是here(使用StringToByteArray函数)。拥有字节数组后,将其通过SHA-1哈希传递,您将获得所需的输出。

关于c# - 实现二进制散列,例如http://www.fileformat.info/tool/hash.htm,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13376162/

10-11 04:14