|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.08.2011, 02:47 | #1 |
Форумчанин
Регистрация: 10.02.2009
Сообщений: 181
|
Как сделать MD5 строки в utf8?
Всем доброго времени суток.
Задача, есть строка в utf8. Надо получить ее хэш сумму. Все модули которые я находил в интернете работают только с ansi. Заранее благодарен. ----------------------- Получилось пока так: храню исходную строку не в utf8string, а в ansistring. Решение рабочее. Но как-то не очень нравится. У кого какие предложения и мысли? Последний раз редактировалось Anfall; 04.08.2011 в 12:16. |
04.08.2011, 13:46 | #2 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
а не пофиг ли? UTF8String и так, по сути, однобайтовая строка:
Код:
совершенно лишнее действие.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
04.08.2011, 14:50 | #3 |
Форумчанин
Регистрация: 10.02.2009
Сообщений: 181
|
Я тоже так думал. Но не прокатывает. Отдает неверный хэш. Все же Utf8string особый тип.
-------- Ну и вот новая проблема. Когда пытаюсь закодировать строку с символом &, хэш тоже неверный выдает. Видимо и с остальными символами так. Последний раз редактировалось Anfall; 04.08.2011 в 15:07. |
04.08.2011, 16:14 | #4 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
> Отдает неверный хэш
а, ну так и сказали бы, что для совместимости с какой-то хренью нужен не любой хэш, а хэш именно от тех букв, которые закодированы в UTF-8. Причём не просто букв, а букв именно в той кодировке, которая будет случайно установлена у юзера (если вы явно её не указываете, что, впрочем, ещё хуже). > Utf8string особый тип в неюникодной Дельфи он совершенно ничем не отличается от обычной строки (AnsiString), а в юникодной да, отличается тем, что запись и чтение из него автоматически переводит данные в юникод, а потом уже в ansi (если нужно). > хэш тоже неверный выдает интересно, а что у вас используется в качестве образца хэша?
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
04.08.2011, 16:54 | #5 |
Форумчанин
Регистрация: 10.02.2009
Сообщений: 181
|
У меня юникодная делфи. Где-то читал и продругие различия.
Хэш за образец - тот который отдает сервер last.fm. Я пытаюсь использовать их api. И один из параметров при запросе - это особая строка, закодировнная в мд5. Если строка не совпадет -то сервер отдает фэил. Сейчас с кодированием md5(ansistring) все отлично работает. Но проблема с симвалами типа & ; и т.д. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Http.Get, Парсинг UTF8, знак - отображается как ? Как декодировать? | XerSon | Работа с сетью в Delphi | 6 | 10.02.2011 08:37 |
Различие 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 |
Как сделать распознавание строки? | Dimo444ka | Общие вопросы Delphi | 8 | 01.02.2008 22:14 |