在Python中生成文件哈希

1 投票
2 回答
5169 浏览
提问于 2025-04-16 11:42

你好,这段代码生成了一个SHA1哈希值,但这个哈希值和其他工具从这个文件生成的SHA1哈希值不一样:

import os
import hashlib

fileList = os.listdir("D:\\a\\")
for i in fileList:
d=(hashlib.sha1(file("D:\\a\\"+i, 'r').read()).hexdigest())
# os.rename(i,d)
print(d)

在MD5方面,我也遇到了这个问题!!


补充:使用'rb'解决了我的问题

2 个回答

1
import os
import hashlib

fileList = os.walk("c:\\temp")
for tuple in fileList:
    for item in tuple[2]:
        d = hashlib.md5(file(tuple[0] + "\\" + item, 'r').read()).hexdigest()
        print [item, d]

当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。

8

试着用'rb'这个方式,同时也试试md5这个方法。现在你用的是SHA1,这是一种不同的算法。我猜根据你的描述,其他工具可能在用md5。

撰写回答