首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python - Hashlib MD5在linux/windows之间是不同的。

Python - Hashlib MD5在linux/windows之间是不同的。
EN

Stack Overflow用户
提问于 2010-08-03 02:07:07
回答 2查看 4.1K关注 0票数 11

我有一个python应用程序,在其中我在windows中创建要使用的包,然后在linux python应用程序中进行比较。我正在为windows中的一个文件创建一个md5,稍后将在linux中检查。问题是,同一文件上的相同代码在每个环境中产生不同的Md5散列结果。下面是我用来计算Md5的方法。(两端都是相同的代码,我在windows/linux环境中都使用Python2.6.5)当我在不同环境中的同一文件上运行时,我得到的md5散列不匹配。

代码语言:javascript
复制
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()

任何想法或建议都是值得感谢的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-03 02:21:43

open(filePath)更改为open(filePath, 'rb'),其中b用于二进制模式。您当前在文本模式下打开,这可能会导致可移植性问题。

票数 23
EN

Stack Overflow用户

发布于 2010-08-03 02:10:08

检查这两个文件是否使用相同的编码和线条结尾

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3390484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档