在python中生成文件哈希

在python中生成文件哈希,python,hash,Python,Hash,hi此代码生成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”解决我的问题尝试使用“rb”并尝试

hi此代码生成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”解决我的问题

尝试使用“rb”并尝试使用md5方法-目前您使用的是SHA1-这是一种不同的算法,根据您的解释,我推测其他工具使用的是md5。

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

不确定sha1是否总是生成相同的哈希,但您可以尝试使用“rb”,可能是因为您在Python中使用sha1哈希,并将其与md5哈希进行比较?如果不是这样,考虑重写这个问题,很难理解它。SHA1:不确定SHA1是否总是生成相同的散列,但您可以尝试使用“rb”,可能是因为您在Python中使用SHA1散列并将其与MD5散列进行比较?如果不是这样,考虑重写这个问题,很难理解它。SHA1:
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]