Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2013, 03:53   #1
-Jack-
Форумчанин
 
Регистрация: 19.04.2009
Сообщений: 368
По умолчанию Хеш-сумма md5

Всем доброго времени суток.

Столкнулся с таким интересным нюансом. Сейчас пишу ПО которое связывается с БД, данные в которой формируются при помощи php-скриптов.

Столкнулся с тем, что функция в php md5 к примеру строчки 123456

e10adc3949ba59abbe56e057f20f883e

а вот на делфи у меня совсем другое получается ...

5FA285E1BEBE0A6623E33AFC04A1FBD5


Вот интересно почему они не совпадают ? )))
-Jack- вне форума Ответить с цитированием
Старый 26.12.2013, 08:17   #2
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Хеш MD5 строки 123456 будет e10adc3949ba59abbe56e057f20f883e
Что-то в Delphi вы не правильно делаете. Покажите код.
FaTaL вне форума Ответить с цитированием
Старый 26.12.2013, 10:01   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

подтверждаю:
Код:
Enter string: 123456
md5 = E10ADC3949BA59ABBE56E057F20F883E
вот исходники + exe (на всякий случай)
md5test_sources.rar
md5test_exe.rar


p.s. использовал библиотеку synacode.pas из Synapse (с) Lukas Gebauer
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.12.2013, 10:53   #4
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

ТС куда то пропал. Понял в чем у него дело. У него версия юникодная, поэтому так и выдает. Исправь на AnsiString и будет тебе счастье.
FaTaL вне форума Ответить с цитированием
Старый 26.12.2013, 17:30   #5
-Jack-
Форумчанин
 
Регистрация: 19.04.2009
Сообщений: 368
По умолчанию

Цитата:
Сообщение от FaTaL Посмотреть сообщение
ТС куда то пропал. Понял в чем у него дело. У него версия юникодная, поэтому так и выдает. Исправь на AnsiString и будет тебе счастье.
Никуда не пропадал )))

А можно чуть по подробней, что именно исправить на AnsiString ?

Вот мой исходник
Вложения
Тип файла: txt md5string.pas.txt (7.0 Кб, 190 просмотров)

Последний раз редактировалось -Jack-; 26.12.2013 в 17:38.
-Jack- вне форума Ответить с цитированием
Старый 26.12.2013, 23:33   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от -Jack- Посмотреть сообщение
Никуда не пропадал )))

А можно чуть по подробней, что именно исправить на AnsiString ?

Вот мой исходник
я бы начал с того, что заменил
Цитата:
function md5 (S: string): string;
на
Код:
function md5 (S: AnsiString): AnsiString;

p.s. обратите внимание, что изменить нужно в двух местах, в interface и внизу, в implementation...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 27.12.2013, 09:29   #7
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Вот в инете нашёл модуль, исправил его на AnsiString и всё работает.
Странно, никогда не могу загрузить вложение на этот форум, всегда пишет загрузка неудачна, так что лови на обменнике.
MD5.zip
FaTaL вне форума Ответить с цитированием
Старый 03.03.2016, 16:55   #8
igh0st
Форумчанин
 
Аватар для igh0st
 
Регистрация: 05.07.2010
Сообщений: 136
По умолчанию

Со строкой все ясно, а что делать, если нужно сгенерировать аналогичный php версии md5 хеш для файла?
igh0st вне форума Ответить с цитированием
Старый 03.03.2016, 17:08   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а в чём принципиальная разница?

подавайте на вход функции массив байт, прочитанных их файла или файловый поток (файл читать через TFileStream) и считайте MD5
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.03.2016, 03:35   #10
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

их есть у меня.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MD5 Хеш файла men232 Visual C++ 1 13.01.2012 19:53
[C#] Вычисление хеш суммы MD5 JonMagon Помощь студентам 2 26.08.2011 10:59
Различие MD5 Delphi и MD5 PHP Viteef Общие вопросы Delphi 14 09.02.2011 11:53
Строку в MD5-hash если Строка является MD5-хешем... Человек_Борща Общие вопросы Delphi 0 13.04.2010 15:27
PHP MD5 и Delphi/C/C++ MD5 в чем отличие? Человек_Борща Общие вопросы Delphi 1 05.04.2010 20:18