【发布时间】:2016-08-03 11:56:26
【问题描述】:
我会尽力描述我的困境。
我正在编写一个 python 脚本,它将获取一个输入文件并对其执行 SHA-256 哈希。
如果我获取原始二进制图像并通过命令提示符运行它(在我的 Mac 上:shasum -a 256 somefile.bin),我会得到“正确”的摘要:'bda1ca...'
我已经通过在线计算器运行了这个二进制文件并得到了相同的结果。
如果我在十六进制编辑器中打开此哈希,将所有字节提取到剪贴板并将它们粘贴到 SHA256 计算器中,我会得到不同的结果:'689035...'
我在这里缺少什么?我试过上/下现金,每个字节之间的空格。我不确定还能尝试什么。
这个问题开始是因为我在 Python 中实现它,但在我担心代码之前,我试图理解为什么会有所不同。
【问题讨论】:
-
我将选择 dvxam 的答案为正确的。实际上,我的 python 脚本是正确的,但我是根据某人的错误指令来乱序读取文件的!但是,dvxam 解释得足够透彻,我现在明白了。
-
如果您使用
echo,请注意换行!echo "hi" | shasum --algorithm=256 98ea6e4f216f2fb4b69fff9b3a44842c38686ca685f3f55dc48c5d3fb1107be4 -与echo -n "hi" | shasum --algorithm=256 8f434346648f6b96df89dda901c5176b10a6d83961dd3c1ac88b59b2dc327aa4 -
标签: sha256 sha rsa-sha256