Я выполняю некоторый код, написанный на C, который вызывает функцию хеширования md5 из библиотеки хеширования, которую написал кто-то другой (md5.c & md5.h). Странное поведение, которое я видел:
хэширование работает отлично = я хэширую строку, и получается точный хеш, который я проверил, чтобы он был с несколькими другими источниками.
Функциональность хеширования работает
отлично при компиляции и запуске
на моей машине OSX и хэш, который
вычисляется именно так, как и должно
будет.
Тот же код, без изменений загружено
и скомпилирован на основе Linux
сервер, и он вычисляет другой
(неверно) хеш.
Кто-нибудь знает, как именно это будет возможно? Его сводили с ума на прошлой неделе, и я не понимаю, почему это вообще возможно. Я также проверил его на другой машине, скомпилировал и выполнил, и он отлично работает. Просто когда я загружаю его на сервер, хеш больше не верен.
Файл функциональности хеширования можно найти по адресу:
http://people.csail.mit.edu/rivest/Md5.c
решено: спасибо всем
Это была проблема 64-битной арки. Это сильно раздражает, что это ускользнуло от меня, чтобы учесть это при отладке .......