不同的 SHA1 但相同的 SHA256

乔瓦贝尔

我正在遍历一个包含二进制文件的文件夹,并尝试计算每个文件的哈希值,特别是 sha1 和 sha256。在我的运行中,我奇怪地为所有文件获得了相同的 sha256 值,但 sha1 值不同(因此是正确的)。

下面是一个输出文件的屏幕截图,它显示了 sha1 散列已正确完成。但 sha256 不是。(对不起,每个二进制文件的文件名也是它的 sha1)

这是什么

我的过程有问题吗?这是 Python 中的相关代码。我没有看到任何东西。对不起。

out.write("FILENAME,SHA1,SHA256\n")
for root, dirs, files in os.walk(input_path):
    for ffile in files:
        myfile = os.path.join(root, ffile)
        nice = os.path.join(os.getcwd(), myfile)

        fo = open(nice, "rb")
        a = hashlib.sha1(fo.read())
        b = hashlib.sha256(fo.read())
        paylname = os.path.basename(myfile)
        mysha1 = str(a.hexdigest())
        mysha256 = str(b.hexdigest())
        fo.close()

        out.write("{0},{1},{2}\n".format(paylname, mysha1, mysha256))
詹姆斯·肯特

正如我在上面的评论中所说的那样,您正在为第一个散列读取整个文件,但是您需要回到文件的开头以第二次读取它以获取第二个散列。或者,您可以将其存储在一个变量中,并将其传递给每个哈希。

out.write("FILENAME,SHA1,SHA256\n")
for root, dirs, files in os.walk(input_path):
    for ffile in files:
        myfile = os.path.join(root, ffile)
        nice = os.path.join(os.getcwd(), myfile)

        fo = open(nice, "rb")
        a = hashlib.sha1(fo.read())
        fo.seek(0,0) # seek back to start of file
        b = hashlib.sha256(fo.read())
        paylname = os.path.basename(myfile)
        mysha1 = str(a.hexdigest())
        mysha256 = str(b.hexdigest())
        fo.close()

        out.write("{0},{1},{2}\n".format(paylname, mysha1, mysha256))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

由于SHA1和MD5相同但SHA256不同而导致的“哈希总和不匹配”错误

来自分类Dev

由于SHA1和MD5相同但SHA256不同而导致的“哈希总和不匹配”错误

来自分类Dev

DVD MD5与ISO,SHA1和SHA256相同

来自分类Dev

Ubuntu Alternative Installer 的两次下载看起来不同(但具有相同的 SHA256)。如何?

来自分类Dev

为什么sha1为相同的输入字符串返回不同的哈希值?

来自分类Dev

C ++ SHA256与命令行SHA256不同

来自分类Dev

SHA1和SHA256是否关联?

来自分类Dev

将 sha1 转换为 sha256

来自分类Dev

Perl hmac sha256与PHP使用包不同

来自分类Dev

PHP哈希SHA256登录密码(与普通密码不同)

来自分类Dev

Perl hmac sha256与PHP使用包不同

来自分类Dev

OpenSSL和PHP SHA256摘要不同

来自分类Dev

SHA256:Swift 和 Java 中的不同输出?

来自分类Dev

为什么Go sha256与Ubuntu命令sha256sum给出不同的结果?

来自分类Dev

相同版本的Chrome,有关sha1弃用的两种不同行为

来自分类Dev

Javascript Sha256与PHP Sha256:换行符会创建不同的哈希值吗?

来自分类Dev

CC_SHA256为不同的输入生成相同的输出

来自分类常见问题

快速SHA256

来自分类Dev

Go Hmac SHA1生成的哈希与Java中的Hmac SHA1不同

来自分类Dev

为什么PHP的hash_hmac('sha256')与Java sha256_HMAC给出不同的结果

来自分类Dev

SHA256哈希从OpenSSL和Sha256Sum实用程序Java不同产生。为什么?

来自分类Dev

SignTool不使用SHA256签名ClickOnce应用,仅使用SHA1

来自分类Dev

想要sha256 ssl证书,但是我得到sha1,为什么?

来自分类Dev

生成密钥库,但仅获得SHA1证书,我想要SHA256证书吗?

来自分类Dev

SHA 256不同的结果

来自分类Dev

Java和PHP中的SHA1结果不同

来自分类Dev

C#和C ++之间的SHA1不同

来自分类Dev

节点和Python之间的Sha1结果不同

来自分类Dev

SHA1 C# 结果与 Python 3 不同

Related 相关文章

  1. 1

    由于SHA1和MD5相同但SHA256不同而导致的“哈希总和不匹配”错误

  2. 2

    由于SHA1和MD5相同但SHA256不同而导致的“哈希总和不匹配”错误

  3. 3

    DVD MD5与ISO,SHA1和SHA256相同

  4. 4

    Ubuntu Alternative Installer 的两次下载看起来不同(但具有相同的 SHA256)。如何?

  5. 5

    为什么sha1为相同的输入字符串返回不同的哈希值?

  6. 6

    C ++ SHA256与命令行SHA256不同

  7. 7

    SHA1和SHA256是否关联?

  8. 8

    将 sha1 转换为 sha256

  9. 9

    Perl hmac sha256与PHP使用包不同

  10. 10

    PHP哈希SHA256登录密码(与普通密码不同)

  11. 11

    Perl hmac sha256与PHP使用包不同

  12. 12

    OpenSSL和PHP SHA256摘要不同

  13. 13

    SHA256:Swift 和 Java 中的不同输出?

  14. 14

    为什么Go sha256与Ubuntu命令sha256sum给出不同的结果?

  15. 15

    相同版本的Chrome,有关sha1弃用的两种不同行为

  16. 16

    Javascript Sha256与PHP Sha256:换行符会创建不同的哈希值吗?

  17. 17

    CC_SHA256为不同的输入生成相同的输出

  18. 18

    快速SHA256

  19. 19

    Go Hmac SHA1生成的哈希与Java中的Hmac SHA1不同

  20. 20

    为什么PHP的hash_hmac('sha256')与Java sha256_HMAC给出不同的结果

  21. 21

    SHA256哈希从OpenSSL和Sha256Sum实用程序Java不同产生。为什么?

  22. 22

    SignTool不使用SHA256签名ClickOnce应用,仅使用SHA1

  23. 23

    想要sha256 ssl证书,但是我得到sha1,为什么?

  24. 24

    生成密钥库,但仅获得SHA1证书,我想要SHA256证书吗?

  25. 25

    SHA 256不同的结果

  26. 26

    Java和PHP中的SHA1结果不同

  27. 27

    C#和C ++之间的SHA1不同

  28. 28

    节点和Python之间的Sha1结果不同

  29. 29

    SHA1 C# 结果与 Python 3 不同

热门标签

归档