Python和其他文件哈希之间的MD5哈希差异

时间:2010-05-25 17:20:54

标签: python hash md5

我一直在用Python做一些编程(仍然是n00b)并且遇到了一些奇怪的事情。我做了一个小程序来查找在命令行传递给它的文件名的MD5哈希值。我在SO上使用了一个我发现here的函数。当我对文件运行它时,我得到一个哈希“58a ... 113”。但是当我在\ Python26 \ Tools \ Scripts \中运行Microsoft的FCIV或md5sum.py时,我得到一个不同的哈希,“591 ... ae6”。脚本中md5sum.py的实际散列部分是

m = md5.new()
while 1:
    data = fp.read(bufsize)
    if not data:
        break
    m.update(data)
out.write('%s %s\n' % (m.hexdigest(), filename))

这在功能上与其他答案中给出的函数中的代码完全相同......我缺少什么? (这是我第一次发布到stackoverflow,如果我做错了,请告诉我。)

1 个答案:

答案 0 :(得分:8)

已在评论中解决,但万一有人想给我点数;;)

以二进制模式打开文件!

f = open(path, 'rb')