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

1 python hash md5

我一直在使用Python进行一些编程(仍然是n00b)并且遇到了一些奇怪的事情.我做了一个小程序来查找在命令行传递给它的文件名的MD5哈希值.我用了一个功能,我发现这里的SO.当我对文件运行它时,我得到一个哈希"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))
Run Code Online (Sandbox Code Playgroud)

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

Fog*_*ird 8

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

以二进制模式打开文件!

f = open(path, 'rb')
Run Code Online (Sandbox Code Playgroud)