|
Расчёт MD5 с использованием .Net Framework и API "cryptdll.dll" даёт разные результаты
|
|||
---|---|---|---|
#18+
Мне предложили вместо паролей хранить в базе их хэши. Начал копать в сторону MD5. Столкнулся с тем, что вот здесь примеры и библиотеки, выложенные здесь Получение MD5 хэша в VBA и здесь Вычисление MD5 строки из Microsoft Access (текст на VB здесь ) дают разные значения MD5. Текст - "текстовая строка" Вариант .Net Framework Код: plaintext
Код: plaintext
Может кто-нибудь пояснит, в чём дело? Более подробно о проблеме тут Получение MD5 хэша в VBA ------------------------------------------------------------- А ты вложил уже свой кровный рубль в 50-ти миллиардное состояние Билла Гейтса? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 11:04 |
|
Расчёт MD5 с использованием .Net Framework и API "cryptdll.dll" даёт разные результаты
|
|||
---|---|---|---|
#18+
Попробовал онлайн сервис https://pr-cy.ru/md5/? Так он дал совсем иное значение Код: plaintext
а вот этот сервис https://www.decodeit.ru/md5/ даёт результат сходный с первым Код: plaintext
Проверочный текст тот же "текстовая строка" - кавычки не кодируются ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 12:28 |
|
Расчёт MD5 с использованием .Net Framework и API "cryptdll.dll" даёт разные результаты
|
|||
---|---|---|---|
#18+
Joss, Notepad++ 812c4f7fb1ccc1aebe7802dced6c4d67 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 12:43 |
|
Расчёт MD5 с использованием .Net Framework и API "cryptdll.dll" даёт разные результаты
|
|||
---|---|---|---|
#18+
JossМне предложили вместо паролей хранить в базе их хэши. В принципе все эти хеши для серьезных случаев не комильфо, особенно если они еще и дают одинаковый результат... Похоже по формату хеша можно определить и используемый алгоритм... Простые пароли методом подбора и атакой по словарю будут щёлкаться на раз-два... Если я знаю алгоритм хеша и выход (то, что лежит в БД), то взлом входа - стандартная процедура: - подбор входа по алгоритму хеша до момента получения хеша, хранимого в БД... Думаю более продуктивным будет использование нестандартного неизвестного алгоритма, ну например алгоритма контрольной суммы с вероятностью совпадения от 50 000 вариантов и более, тогда вместо пароля (и любого текста любой длины) будет типа 1CFE3 и в этом случае вообще не понятно что с этим делать... не зная алгоритма контрольного суммирования- задачу подбора пароля не решить... Так что различие в результатах разных хешей ИМХО это не зло на самом деле, а добро... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 13:34 |
|
Расчёт MD5 с использованием .Net Framework и API "cryptdll.dll" даёт разные результаты
|
|||
---|---|---|---|
#18+
А правильное ли решение пользовать сторонние алгоритмы? Не получится ли злой случай, когда с очередным обновлением получим новую спецификацию без обратной совместимости? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 13:36 |
|
Расчёт MD5 с использованием .Net Framework и API "cryptdll.dll" даёт разные результаты
|
|||
---|---|---|---|
#18+
PredeclaredА правильное ли решение пользовать сторонние алгоритмы? Не получится ли злой случай, когда с очередным обновлением получим новую спецификацию без обратной совместимости? ... Известный криптограф Брюс Шнайер в книге «Секреты и ложь» пишет: «Любой, кто создает собственный образец шифрования, — либо гений, либо глупец». ... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 15:07 |
|
Расчёт MD5 с использованием .Net Framework и API "cryptdll.dll" даёт разные результаты
|
|||
---|---|---|---|
#18+
ПанургJoss, Notepad++ 812c4f7fb1ccc1aebe7802dced6c4d67 А вот Total Commander выдаёт Код: plaintext
Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 15:29 |
|
Расчёт MD5 с использованием .Net Framework и API "cryptdll.dll" даёт разные результаты
|
|||
---|---|---|---|
#18+
PredeclaredА правильное ли решение пользовать сторонние алгоритмы? Не получится ли злой случай, когда с очередным обновлением получим новую спецификацию без обратной совместимости? ну и по этому тоже, - лучше использовать своё, а если уж и чужое, то не в библиотеках, а в своих модулях чтоб не зависеть от обновлений... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 15:43 |
|
Расчёт MD5 с использованием .Net Framework и API "cryptdll.dll" даёт разные результаты
|
|||
---|---|---|---|
#18+
Predeclared, На смену MD5 уже пришел SHA-2. MD5 ломается за приемлемое время на обычном компьютере. Вот исходные коды класса clsMD5 для VB (VBA) и пример работы с библиотекой crypt.dll Пример довольно старый, аж 2000 года, но на Windows 7 32bit всё работает. И не надо использовать сторонние библиотеки. Код включается в программу и меняться не будет. Образец кода соответствует второму варианту MD5. Меня интересует - почему два разных результата? Ведь алгоритм вроде как один и тот же ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 15:45 |
|
Расчёт MD5 с использованием .Net Framework и API "cryptdll.dll" даёт разные результаты
|
|||
---|---|---|---|
#18+
ИМХО. Если злоумышленник добрался до таблиц, то хранение хэшей вместо паролей его не остановит. Он просто может подменить в таблице один хэш на другой известного пароля. Кроме того есть онлайн сервисы по восстановлению паролей. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 15:49 |
|
Расчёт MD5 с использованием .Net Framework и API "cryptdll.dll" даёт разные результаты
|
|||
---|---|---|---|
#18+
JossPredeclaredА правильное ли решение пользовать сторонние алгоритмы? Не получится ли злой случай, когда с очередным обновлением получим новую спецификацию без обратной совместимости? ... Известный криптограф Брюс Шнайер в книге «Секреты и ложь» пишет: «Любой, кто создает собственный образец шифрования, — либо гений, либо глупец». ... Мне более симпатична мысль местного мембера (выделена красным): 7267154 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 16:01 |
|
Расчёт MD5 с использованием .Net Framework и API "cryptdll.dll" даёт разные результаты
|
|||
---|---|---|---|
#18+
Да бросьте вы! Какой нафиг взлом хеша? Данные в акцессовской таблице практически невозможно надежно защитить ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 16:30 |
|
Расчёт MD5 с использованием .Net Framework и API "cryptdll.dll" даёт разные результаты
|
|||
---|---|---|---|
#18+
MrShinДа бросьте вы! Какой нафиг взлом хеша? Данные в акцессовской таблице практически невозможно надежно защитить А давайте не будем здесь о защите информации в Access. Для этого есть отдельные топики и Вас , MrShin, я там не видел. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 16:34 |
|
Расчёт MD5 с использованием .Net Framework и API "cryptdll.dll" даёт разные результаты
|
|||
---|---|---|---|
#18+
MrShinДа бросьте вы! Какой нафиг взлом хеша? Данные в акцессовской таблице практически невозможно надежно защитить Данных, которые необходимо надежно защищать, в "акцессовской таблице" быть не должно априори. Но это не значит, что остальные данные не нужно оберегать от элементарной глупости. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 16:39 |
|
Расчёт MD5 с использованием .Net Framework и API "cryptdll.dll" даёт разные результаты
|
|||
---|---|---|---|
#18+
JossА давайте не будем здесь о защите информации в Access О, пардон, это уже отдельный топик, а не про модуль авторизации, не обратил внимания. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 16:49 |
|
Расчёт MD5 с использованием .Net Framework и API "cryptdll.dll" даёт разные результаты
|
|||
---|---|---|---|
#18+
MrShinО, пардон, это уже отдельный топик, а не про модуль авторизации, не обратил внимания. вообще-то это даже и не про модуль авторизации. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 16:59 |
|
Расчёт MD5 с использованием .Net Framework и API "cryptdll.dll" даёт разные результаты
|
|||
---|---|---|---|
#18+
Joss, не вдаваясь в алгоритм - соль разная? Почитайте тут, а потом посмотрите на генерацию хеша: http://www.itlessons.info/php/hash-password-by-md5-and-salt/ ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 08:44 |
|
Расчёт MD5 с использованием .Net Framework и API "cryptdll.dll" даёт разные результаты
|
|||
---|---|---|---|
#18+
Нет, тут дело похоже в другом. И проще и сложнее. Когда я перевёл текст в UFT-8 и прогнал через Total Commander, то значение стало таким, как в первом варианте. Т.е. одна библиотека автоматически преобразует строку в UFT-8 (или определяет формат, а потом преобразует), а другой кодирует без преобразования. Я заносил текст в среде разработки VBA. Она одинаковая для Excel, Word, Access. И похоже Win-1251. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 09:41 |
|
Расчёт MD5 с использованием .Net Framework и API "cryptdll.dll" даёт разные результаты
|
|||
---|---|---|---|
#18+
Спасибо Andy_OLAP за подсказку. В одном (первом) случае перед вызовом функции хэширования стоит вызов функции конвертирования исходной строки в UTF-8. А в другом случае вызов конвертирование отсутствует. Вот и весь затык. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 15:06 |
|
|
start [/forum/topic.php?fid=45&gotonew=1&tid=1611011]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
12ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 255ms |
total: | 416ms |
0 / 0 |