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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2016, 22:18   #1
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию разный мд5

Доброго дня, пытаюсь получить хеш строки. Хеш полученный в delphi отличается от хеша полученного в php.

Пример:
Если зашифровать единицу ("1") и в Delphi и в PHP хеши совпадают


Если зашифровать более 2х символов ("11") и в Delphi и в PHP хеши НЕ совпадают.


Как я их получаю, думаю нет смысла код выкладывать, в Delphi PAS найденый в интернете
Цитата:
{********************************** ********************************}
{ MD5 Hashsum Evaluation Unit For Borland Delphi }
{ }
{ Copyright © 2002 by Dimka Maslov }
{ E-mail: mainbox@endimus.com, }
{ Web-site: http://www.endimus.com }
{ }
{ Derived from the RSA Data Security, Inc. }
{ MD5 Message-Digest Algorithm described in RFC 1321 }
{ http://www.faqs.org/rfcs/rfc1321.html }
{********************************** ********************************}

на а в php md5('11');

Последний раз редактировалось aesoem; 01.12.2016 в 22:26.
aesoem вне форума Ответить с цитированием
Старый 01.12.2016, 23:32   #2
Artsiom
Форумчанин
 
Аватар для Artsiom
 
Регистрация: 13.07.2012
Сообщений: 357
По умолчанию

Хм, действительно, а с чем это может быть связано?
Текст: Edit1
На делфях: 6CE660BAC8A0C5EF805D3F907FC3C5B3
1 сайт: 7318efc576d8c24b47540d5acfd58e5a
2 сайт: 3c4a359ade745c27537e3b08672425cb

Упс, а не, это я кривой, делфи: 7318efc576d8c24b47540d5acfd58e5a
Значит сайт 2 врёт, проблемы с кодировками?

Последний раз редактировалось Artsiom; 01.12.2016 в 23:38.
Artsiom вне форума Ответить с цитированием
Старый 02.12.2016, 00:10   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

у меня в проекте Delphi
для 11
Код:
md5=6512BD43D9CAA6E02C990B0A82652DCA
php
Код:
<?php
echo md5('11');
?>
6512bd43d9caa6e02c990b0a82652dca

проект на дельфи прикрепляю.
md5_project.rar
md5_var1_EXE.rar


для текста Edit1
Delphi: 7318efc576d8c24b47540d5acfd58e5a
php: 7318efc576d8c24b47540d5acfd58e5a

Последний раз редактировалось Serge_Bliznykov; 02.12.2016 в 00:13.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.12.2016, 02:00   #4
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Цитата:
Сообщение от aesoem Посмотреть сообщение
Доброго дня, пытаюсь получить хеш строки. Хеш полученный в delphi отличается от хеша полученного в php.

Пример:
Если зашифровать единицу ("1") и в Delphi и в PHP хеши совпадают


Если зашифровать более 2х символов ("11") и в Delphi и в PHP хеши НЕ совпадают.


Как я их получаю, думаю нет смысла код выкладывать, в Delphi PAS найденый в интернете


на а в php md5('11');
Как ты их получаешь действительно всё ясно. Вот только код Димки Маслова был написан в 2002 году, когда Дельфи даже ещё и не думал переходить на Юникод.
northener вне форума Ответить с цитированием
Старый 02.12.2016, 09:34   #5
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
у меня в проекте Delphi
для 11
Код:
md5=6512BD43D9CAA6E02C990B0A82652DCA
php
Код:
<?php
echo md5('11');
?>
6512bd43d9caa6e02c990b0a82652dca

проект на дельфи прикрепляю.
Вложение 84830
Вложение 84831


для текста Edit1
Delphi: 7318efc576d8c24b47540d5acfd58e5a
php: 7318efc576d8c24b47540d5acfd58e5a
Откомпилированный вами ЕХЕ показывает хеш верно, совпадает и на сайте и в делфи. Но стоит мне заново откомпилировать ваш проект без изменений у себя, хеши не совпадают...
aesoem вне форума Ответить с цитированием
Старый 02.12.2016, 09:36   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Дельфи-то какая?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 02.12.2016, 09:54   #7
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Дельфи-то какая?
Delphi 10.1 Berlin
aesoem вне форума Ответить с цитированием
Старый 02.12.2016, 10:04   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Дельфи-то какая?
похоже, что > 2009 (скорее всего - современная XE какая-то)
там все строки (String) - Unicode
скорее всего northener прав, проблема в unicode.


Цитата:
Сообщение от aesoem Посмотреть сообщение
Но стоит мне заново откомпилировать ваш проект без изменений у себя, хеши не совпадают...
заменяйте в модуле вычисления все переменные типа String на тип AnsiString.

ну или просто возьмите более современный код, подходящий для вашей версии Delphi.

А вот тема на нашем форуме Delphi XE2 и MD5
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.12.2016, 10:13   #9
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

Serge_Bliznykov, спасибо, помогло.
aesoem вне форума Ответить с цитированием
Старый 02.12.2016, 18:03   #10
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

Код:
// uses System.Hash
result := THashMD5.GetHashString('11');
ZuBy вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разный шрифт, на разных ПК Janger Общие вопросы Delphi 4 08.06.2015 11:47
Модуль МД5 в Delphi 7 и XE7 выдает разный результат studi Общие вопросы Delphi 1 22.05.2015 19:30
Разный шрифт [Delphi 7] _fynjy_ Общие вопросы Delphi 6 19.06.2011 14:53
разный результат Кристина133 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 13.05.2011 19:15
из бинари в мд5 Mpa4Hu PHP 3 03.05.2010 11:32