Intereting Posts
Вызов функции в скрипте PHP из командной строки (T_ENCAPSED_AND_WHITESPACE), ожидая идентификатор (T_STRING) или переменную (T_VARIABLE) или номер (T_NUM_STRING) Отправка почты нескольким получателям с помощью sendgrid и codeigniter Значение базы данных SQL для переменной Вывод буфера вывода командной строки PHP независимо от настроек буфера Загрузка OneDrive через php Основы клиентской и серверной сторон Создание диапазона в поле ввода, таком как сообщения Facebook загрузка, обработка, хранение и доставка предоставленных пользователем файлов и изображений Как хорошо использовать многоядерные процессоры в ваших PHP / MySQL приложениях? PDO с Singleton не может получить доступ к частной собственности REST API Embedded Signing -Docusign Заявления PDO с именованными параметрами VS-вопросительные параметры $ facebook-> getLogoutUrl (); ссылка не выводит пользователя из facebook Подчеркивание в php-функции

Хеширование файлов MD5 – соответствие вывода Delphi с помощью функции PHP md5_file

В настоящее время я использую этот код для хеширования md5 в Delphi 7:

function MD5(const fileName : string) : string; var idmd5 : TIdHashMessageDigest5; fs : TFileStream; begin idmd5 := TIdHashMessageDigest5.Create; fs := TFileStream.Create(fileName, fmOpenRead OR fmShareDenyWrite) ; try result := idmd5.AsHex(idmd5.HashValue(fs)) ; finally fs.Free; idmd5.Free; end; end; 

и я пытаюсь получить результат так же, как функция PHP

 md5_file() 

Я смотрю вокруг, и обычные проблемы кажутся кодировкой, а не заполнением нулями, но я не знаю, как это сделать, используя TIdHashMessageDigest5 или они уже выполнены в этой функции.

Если у кого есть какие-то функции, которые они используют для этого, это будет очень полезно!

Или, возможно, способ изменения функции php для соответствия Indy one

Сравните результаты с:

  • md5(file_get_contents( )) в PHP

  • hash("md5", ) из расширения hash("md5", ) PHP

  • программы командной строки md5 (1) aka md5sum (1)

Если все, кроме одного, согласны с суммой, то вы знаете, где копать.

Ну, вы не указали номер версии Delphi, но если вы на D2007 или новее, вы можете проверить эту статью.