在python中生成文件哈希

时间:2011-02-12 12:50:32

标签: python hash

此代码生成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 个答案:

答案 0 :(得分:8)

尝试使用'rb'并尝试使用md5方法 - 目前您正在使用SHA1 - 这是一种不同的算法,我从您的解释中假设其他工具使用的是md5。

答案 1 :(得分: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]