Почему хеши паролей MD5 / SHA1 невозможно расшифровать?

Я недавно прочитал статью охеширование пароля.

Как создаются хеши MD5 или SHA1, чтобы их нельзя было расшифровать? Что я думаю, это то, что она должна быть зашифровывать строку с помощью определенной ФОРМУЛЫ (она всегда дает один и тот же хеш для одной и той же строки; поэтому не должно быть никакой рандомизации), и именно поэтому мы должны иметь возможность расшифровать ее с помощью одной и той же ФОРМУЛЫ ?? Или люди не знают форум?

 psych20 июн. 2012 г., 12:32
@PanayiotisKarabassis MD5 и SHA1 не являются алгоритмами шифрования и не могут быть расшифрованы. Это хеш-функции. Ваш комментарий немного вводит в заблуждение.
 Panayiotis Karabassis20 июн. 2012 г., 12:59
В самом деле. Сожалею...
 Panayiotis Karabassis20 июн. 2012 г., 12:31
По обратной формуле. Я далеко не эксперт в области криптографии, но идея в том, что у вас есть две функции: шифрование (открытый текст), которое может быть вычислено за разумное время, и дешифрование (шифрованный текст), который не может, по крайней мере, без ключа. Обычно лучшее, что вы можете сделать, это запустить все открытые тексты с помощью функции шифрования, пока не получите правильный. Это занимает экспоненциальное время, и из этого вытекает безопасность метода.

Ответы на вопрос(3)

Все правильно объяснил псих, я бы хотел добавить еще один момент к этому:

15 Mod 4 = 3

Even if you know the formula is

x Mod 4

you can't deduce x as it could be 3, 7, 11, 15 etc

Мы можем пойти еще ближе к нашей ситуации и получить результат действия (например, у вас есть хеш как результат действия и описание действия)

x mod 4 = 3

х может быть 12, 13, 14 или 15, что не говорит, какое входящее целое число мы имели.

 28 февр. 2013 г., 11:42
Но с этой формулой легко найти вход, который соответствует выходу. Так что найти первый прообраз легко. Существенным свойством криптографического хэша является то, что вы не можете найти любой вход, соответствующий данному выходу.

Я всегда считал, что md5 и sha1 не могут быть расшифрованы и используются в моих приложениях. Но к моему удивлению я нашел несколько сайтов, которые выполняют эту процедуру. увидетьhttp://www.crypt-security.com/ Поэтому эта процедура недостаточно безопасна

 14 янв. 2013 г., 11:46
Существует ряд других способов определения совпадения для этих общих хеш-функций, но использование слова «расшифровка» неверно и вводит в заблуждение.
 24 авг. 2015 г., 17:28
они не дешифруют хеш, всякий раз, когда кто-нибудь зашифровывает любой хеш, они сохраняют хеш и простой текст в своей базе данных, а затем в будущем любой вводит хеш, который отображает простой текст. Также все такие сайты делятся своими базами данных друг с другом, это означает, что вы можете зашифровать новый текст на одном сайте и найти хэш на другом
 27 дек. 2012 г., 22:58
Это довольно старый вопрос, и он на самом деле не отвечает на вопрос ... Спасибо за присоединение к stackoverflow, я надеюсь, что вы останетесь здесь и найдете сайт полезным.
 14 янв. 2013 г., 11:41
MD5 и SHA1 не могут быть расшифрованы, поскольку они не являются алгоритмами шифрования. Это хеш-функции. Хотя обратное проектирование не так-то просто, ничто не мешает мне найти MD5 («пароль») = 5f4dcc3b5aa765d61d8327deb882cf99 и сохранить хешированное значение в словаре, чтобы я мог выполнить поиск, чтобы определить, что входная строка была «полезной». ; пароль & APOS ;.
Решение Вопроса

MD5 и SHA1 не являются алгоритмами шифрования. Это алгоритмы хеширования.

Это односторонняя формула. Запуск MD5 или SHA1 для конкретной строки дает хэш, который всегда одинаков. Невозможно повернуть функцию вспять, чтобы вернуться к исходной строке.

Например:

15 Mod 4 = 3

Даже если вы знаете, что формула

x Mod 4

Вы не можете вывести x, так как это может быть 3, 7, 11, 15 и т. д.

Очевидно, MD5 и SHA1 намного сложнее!

В приведенном выше примере вменение 15 всегда даст вам ответ 3, но никто не сможет определить исходное число. Это приводит к столкновениям, когда несколько входных строк могут давать одинаковый хеш:

http://en.wikipedia.org/wiki/MD5#Collision_vulnerabilities

В Википедии есть информация об используемом алгоритме:

http://en.wikipedia.org/wiki/MD5#Algorithm

 10 дек. 2017 г., 13:40
Спасибо! это был тот пример, который я искал!
 Dilip Raj Baral20 июн. 2012 г., 12:44
ну, это имеет смысл ...

Ваш ответ на вопрос