此代码生成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'解决我的问题
答案 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]