我有两段代码,都计算完全相同文件的MD5哈希值。一个是C ++(从http://msdn.microsoft.com/en-us/library/windows/desktop/aa382380%28v=vs.85%29.aspx偷来的,有点太长了,无法复制粘贴),另一个是Python:
md5 = hashlib.md5()
f = open("file", 'rb')
while True:
data = f.read(1024)
if not data:
break
md5.update(data)
hash = md5.hexdigest()
乍一看,这两个哈希似乎是平等的,但实际上并非如此:
987ab42efb655a62249651907daef16e
(Python) - 9874eb5a24610de1e49651907daef16e
(C ++)
33ee1578f082db63f2f590ca210f419e
(Python) - 33e5802b3250a1f1e2f590ca210f419e
(C ++)
那么可能导致这些差异的原因是什么?
感谢Duncan的评论。
好的,我想this is the data the OP is using:
33ee1578f082db63f2f590ca210f419e usr/local/games/cs2d/sfx/items/drop.wav
987ab42efb655a62249651907daef16e usr/local/games/cs2d/sfx/items/ammo.wav