Незначительные различия в хеше файлов MD5 между VC ++ и Python - PullRequest
2 голосов
/ 06 февраля 2012

У меня есть два куска кода, оба вычисляют хеш 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...