SHA-256不同的结果

时间:2016-04-12 17:49:53

标签: sha256 sha rsa-sha256

我会尽力描述我的困境。

我正在编写一个python脚本,它将获取一个输入文件并在其上执行SHA-256哈希。

如果我获取原始二进制图像并通过命令提示符运行它(在我的mac:shasum -a 256 somefile.bin上),我得到了正确的'摘要:' bda1ca ...'

我通过在线计算器运行这个二进制文件并获得相同的结果。

如果我在十六进制编辑器中打开此哈希,将所有字节提取到我的剪贴板并将其粘贴到SHA256计算器中我会得到不同的结果:' 689035 ...'

我在这里缺少什么?我尝试过上/下现金,每个字节之间的空格。我不知道还有什么可以尝试的。

这个问题的开始是因为我在Python中实现了这个问题,但在我担心代码之前,我试图理解为什么会有这种不同。

1 个答案:

答案 0 :(得分:1)

当您在键盘上复制十六进制编辑器中的“字节”时,您很可能只是复制它的字符串表示。

也许这些命令可以帮助你获得它:

$ echo "Hello, world" > my_bin

$ shasum -a 256 my_bin
37980c33951de6b0e450c3701b219bfeee930544705f637cd1158b63827bb390  -


$ cat my_bin | shasum -a 256
37980c33951de6b0e450c3701b219bfeee930544705f637cd1158b63827bb390  -

$ cat my_bin | xxd -p | shasum -a 256
0e535a1a279db9753bcbc226b9305e6e6a39ba2d866c01a44cb9aac8d5fc9833  -

(xxd是我用来显示文件内容的十六进制编辑器)