1 | |
Получить MD5 хэш введенного текста25.07.2010, 16:25. Показов 42124. Ответов 47
Метки нет (Все метки)
Подскажите какую библиотеку нужно подключить и где её взять чтобы получить мд5 хэш текста? облазил интернет ничего рабочего не нашел
0
|
25.07.2010, 16:25 | |
Ответы с готовыми решениями:
47
Как получить MD5-хэш введенного пароля? Перевод текста в md5 хэш Получить MD5-хэш для строк Получить MD5-хэш для значения из базы данных |
Практикантроп
4826 / 2718 / 526
Регистрация: 23.09.2011
Сообщений: 5,777
|
|
01.08.2012, 18:25 | 21 |
Ну, если в настройках студии ничего не трогали (типа пути к библиотекам или наподобие), тогда... я пас.
0
|
Волшебник
65 / 64 / 7
Регистрация: 21.11.2009
Сообщений: 319
|
|
02.08.2012, 00:55 | 23 |
ivan.-94, а Вы очень внимательны! Но так и не заметили ошибки, что в конце строки ещё нету точки с комой ";"
0
|
Волшебник
65 / 64 / 7
Регистрация: 21.11.2009
Сообщений: 319
|
|||||||||||
09.08.2012, 10:38 | 24 | ||||||||||
Всем привет!
Все это время занимался исследованием MD5 хеша. Мои выводы: Используя встроеную библиотеку Indy, а точнее IdHashMessageDigest.hpp, мы не получаем реальный MD5 хеш. Возможно потому что используется какой-то ещё кодер, или просто добавляеться какой-то код (как говориться в других словах "соль"). Проверить это вы можете сами, собравь проект с использованием "IdHashMessageDigest.hpp" и сверить полученый хеш MD5, с хешем MD5 на любом сайте кодинга (http://md5encryption.com). Решение: Самый хороший способ это добавить к проекту сам алгоритм хеширования. Приступаем. 1. Создаем пустой проект 2. Бросаем на форму Edit1, Edit2 и Button1. 3. Добавляем к проекту два файла : MD5.H и MD5.CPP 4. В Unit1.cpp добавляем: #include "MD5.h" 5. Добавляем код на кнопку: Edit2->Text = MD5(Edit1->Text); Всё проект готов, MD5 hash которого соответствует стандарту. Прикрепляю код хеширования + исходники MD5.CPP
MD5.H
А теперь вопрос знатокам: Как с помощью этого способа хеширования, получить хеш файла??? Зарание благодарю за ответ!
2
|
09.08.2012, 10:50 | 25 |
Я думаю, самый правильный вариант - научиться работать с TIdCoder.
И тогда будет по плечу:
0
|
Волшебник
65 / 64 / 7
Регистрация: 21.11.2009
Сообщений: 319
|
||||||
09.08.2012, 14:24 | 26 | |||||
К сожалению, а может и нет, но в студии RAD C++Builder 2010 таких компонентов нету.
И к тому же, где-то на каком-то форуме читал что TIdCoderMD5 тоже не правильно подсчитывает хеш. Ах да, вот:
а должно выдавать: "7e4584a00e89b9aad0bc0e4c2bc11738".(взято из форума. сам не проверял). Так что используй тот метод что я расписал, он по крайней мере стабильно работает. Но все же вопрос остается актуален, как в выше описаном способе хеширования MD5, получить контрольную сумму файла???
0
|
Волшебник
65 / 64 / 7
Регистрация: 21.11.2009
Сообщений: 319
|
|
09.08.2012, 15:22 | 28 |
Было бы проще но увы...
Так что жду помощи в моей ситуации Я так понимаю нужно файл отобразить в виде набора символов и уместить его в функцию хеширования. Помогите, кто знает как правильно это сделать! Спасибо
0
|
09.08.2012, 15:48 | 29 |
хм, странно, в 6-й есть (во вкладке Indy Misc), по идее и в новых билдерах тоже должны быть.
если память не изменяет, то в Builder XE есть (сейчас не могу проверить, под хрюшой сижу, а установлен на win7). TIdCoder вроде бы с файлами умеет работать, по крайней мере есть свойство FileName, но мало написано про него и без примера.
0
|
Волшебник
65 / 64 / 7
Регистрация: 21.11.2009
Сообщений: 319
|
|
09.08.2012, 16:24 | 30 |
Поэтому этот вариант меня не устраивает.
Есть другие варианты, которые не используют компоненты и библиотеку Инди?
0
|
09.08.2012, 17:33 | 31 | |||||
действительно, борода с этим Indy.
хотел попробовать TIdHashMessageDigest5 в BuilderXE, но то, что написано в справке билдера не соответствует действительности. Вообщем, все же догадался, как вычислить md5 в BuilderXE:
1
|
Волшебник
65 / 64 / 7
Регистрация: 21.11.2009
Сообщений: 319
|
|
10.08.2012, 12:27 | 32 |
Это не MD5! Я на 3-й странице уже написал что этот способ не соответствует стандарту MD5. Ибо результаты получаются разные!
+ на странице №3 я выложил рабочий код с работающим проектом, который по стандарту получает MD5 хеш строки. Но вопрос заключается в том, как с помощью этого же кода получить хеш файла, а не строки??? Что нужно изменить или добавить? Заранее благодарю за помощь!
0
|
2835 / 1644 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
|
10.08.2012, 14:23 | 33 |
Можно:
1
|
Волшебник
65 / 64 / 7
Регистрация: 21.11.2009
Сообщений: 319
|
|
10.08.2012, 14:43 | 34 |
Спасибо Somebody!
А Вы не подскажите, пожалуйста, как правильно: ??? Заранее благодарю!
0
|
10.08.2012, 18:01 | 35 | |||||
MD5 и в вашем случае результат тоже был MD5, но похоже Вы не поняли, что это результатом функции было не какое-то левое число, а именно md5, просто по-другому записано (я кстати, писал об этом)
Добавлено через 15 минут Вот код получения md5 из файла (в BuilderXE):
1
|
Волшебник
65 / 64 / 7
Регистрация: 21.11.2009
Сообщений: 319
|
|
16.08.2012, 08:27 | 36 |
Здравствуйте kzru_hunter!
Я то понял что эта функция получает хеш, но он отличается от реального хеша MD5. У меня есть задание написать программу получения MD5 хеша строго по стандарту. Вот потому я и выложил исходные коды стандартизированного MD5 хеша. Но он получает хеш со строчки, а мне нужно получить хеш файла) Если Вы знаете как это сделать, буду очень благодарен!!! P.S. а что Вы имели введу по поводу того что: "просто по-другому записано"? Спасибо!
0
|
17.08.2012, 11:32 | 37 |
действительно, даже если выводить в HEX-формате (думал, что если перевести в HEX формат, то будет нормальный md5).
получается, что TIdCoderMD5 на свалку. Но зато в BuilderXE класс TIdHashMessageDigest5 у меня нормально работает. Код приводил в предыдущем посте. md5 - это 128-битный алгоритм, т.е. 16 байт. но мы его привыкли его видеть HEX-формате из 32 байт (т.е. из символов 0123456789ABCDEF). я думал, что если 16 байт, которые вернул TIdCoder, перевести в HEX-формат, то получим нормальный md5.
0
|
18.08.2012, 14:41 | 38 |
Протестил каждую функцию приведенную в этой теме.
К сожалению работают они не корректно, к примеру одна функция выдает: Код
2bb596667db6893e3269335b4a93d139 Код
D7920D1EAE8A44F442B33B33EF147B88 Код
d570316ed921681afdbaa100b1171a3a Код
f81a1ca99a0a76f6d059c7bd8833d45b
0
|
518 / 306 / 58
Регистрация: 30.07.2008
Сообщений: 607
|
||||||
18.08.2012, 18:06 | 39 | |||||
пробовал на тескст: "1234"
http://mainspy.ru/shifrovanie_md5 81dc9bdb52d04dc20036dbd8313ed055 http://md5-hash-online.waraxe.us/ 81dc9bdb52d04dc20036dbd8313ed055 http://www.md5.cz/ 81dc9bdb52d04dc20036dbd8313ed055 neoMitya предложил хороший вариант для текста Получить MD5 хэш введенного текста 81dc9bdb52d04dc20036dbd8313ed055 (подправил чуток под себя)
1
|
18.08.2012, 19:13 | 40 |
Gremlin, попробуйте теперь длинный текст в 120-200 символов. Каждая по разному начнет выдавать.
0
|
18.08.2012, 19:13 | |
18.08.2012, 19:13 | |
Помогаю со студенческими работами здесь
40
Ввести в форму слово и получить его md5 и sha1 хэш. Разгадать хэш md5 Неполный хэш MD5 Хэш sha1 и md5 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |