首页 文章

SHA-256不同的结果

提问于
浏览
0

我会尽力描述我的困境 .

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

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

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

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

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

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

1 回答

  • 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是一个十六进制编辑器,用于显示文件内容)

相关问题