![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 15.11.2011
Сообщений: 9
|
![]() Код:
Функция правильно работает c числами и английскими буквами (проверено через онлайн генератор). ![]() ![]() ![]() А вот с русскими буквами не хочет: для слов одинаковой длины выдает один и тот же хеш. Почему так происходит и как это исправить? |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
Delphi какой версии? >= Delphi 2009 ?
1) попробуйте конвертировать строку в AnsiString или хотя бы задать тип, вместо String -> AnsiString: Код:
2) в той теме, где Вы нашли этот способ получения хеша, были и другие библиотеки получения хэша MD5. попробуйте их. (но замечание насчёт использования AnsiString вместо String всё равно остаётся в силе!!) |
![]() |
![]() |
![]() |
#3 |
Регистрация: 15.11.2011
Сообщений: 9
|
![]()
у меня Delphi 2010. я вот и думаю, что все дело в версии. т.к некоторые программы, ранее созданные в Delphi 2007 и нормально работающие с русскими буквами, теперь не работают в Delphi 2010((
Замена String -> AnsiString мне ничего не дала ![]() |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
В данном случае вы пали жертвой мего-мозга создателей инди. Ваша строчка должна выглядеть примерно так:
Код:
Код:
![]() Код:
![]()
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
Последний раз редактировалось veniside; 16.11.2011 в 16:31. |
![]() |
![]() |
![]() |
#5 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,810
|
![]()
Юнит md5hash:
E-Mail: arigato.freelance@gmail.com
|
![]() |
![]() |
![]() |
#6 | |
Участник клуба
Регистрация: 06.04.2009
Сообщений: 1,524
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#7 | |
Регистрация: 15.11.2011
Сообщений: 9
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#8 | |||
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]() Цитата:
Цитата:
Цитата:
Код:
Код:
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
Последний раз редактировалось mihali4; 17.11.2011 в 00:14. |
|||
![]() |
![]() |
![]() |
#9 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
сорри за оффтоп
Цитата:
ибо 1) в Delphi это всегда задавалось параметром {$H+} по умолчанию String == AnsiString можно было включить {$H-}. Тогда String станет равным ShortString 2) в версиях Delphi c unicode (версия >=2009) String по умолчанию равен WideString (UnicodeString). |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
SHA1-хеширование (проблемы с русскими буквами) | BDA | Общие вопросы Delphi | 7 | 15.09.2017 09:15 |
Паскаль. Файлы - Создать подпрограмму для заполнения файла латинскими и русскими буквами | Антон Лысенко | Помощь студентам | 2 | 15.12.2010 22:44 |
Дан файл, содержащий текст, записанный строчными русскими буквами. Получить в др.файле тот же текст, | develish151 | Microsoft Office Word | 4 | 05.05.2010 13:20 |
Пути с русскими буквами в Lazarus. | Alex Cones | Lazarus, Free Pascal, CodeTyphon | 4 | 30.03.2010 18:31 |
SMS русскими буквами | nimf | Общие вопросы Delphi | 10 | 13.02.2010 22:23 |