我有一个python应用程序,在其中我在windows中创建要使用的包,然后在linux python应用程序中进行比较。我正在为windows中的一个文件创建一个md5,稍后将在linux中检查。问题是,同一文件上的相同代码在每个环境中产生不同的Md5散列结果。下面是我用来计算Md5的方法。(两端都是相同的代码,我在windows/linux环境中都使用Python2.6.5)当我在不同环境中的同一文件上运行时,我得到的md5散列不匹配。
def md5_for_file(filePath):
md5 = hashlib.md5()
file = open(filePath)
while True:
data = file.read(8192)
if not data:
break
md5.update(data)
file.close()
return md5.hexdigest()任何想法或建议都是值得感谢的。
发布于 2010-08-03 02:21:43
将open(filePath)更改为open(filePath, 'rb'),其中b用于二进制模式。您当前在文本模式下打开,这可能会导致可移植性问题。
发布于 2010-08-03 02:10:08
检查这两个文件是否使用相同的编码和线条结尾
https://stackoverflow.com/questions/3390484
复制相似问题