У меня есть два куска кода, оба вычисляют хеш 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 ++)
Так что жеможет быть причиной этих различий?
Исправлено:
Благодаря комментарию Дункана.
Хорошо, я думаю это данные, которые использует ОП :
33ee1578f082db63f2f590ca210f419e usr/local/games/cs2d/sfx/items/drop.wav
987ab42efb655a62249651907daef16e usr/local/games/cs2d/sfx/items/ammo.wav