Другие языки программирования и технологии

Объясните хеширование паролей в РНР

Если например закодировать пароль md5 или другой функцией и занести в бд, то разве взломщик не сможет также как и я расхешировать пароль, занесенный в бд?
Тут дело у другом.
md5 не расшифровывается в принципе. Никак =)
В базе лежат md5-хеши паролей.
Когда пользователь вводит в форму на сайте свой пароль, он хешируется алгоритмом md5 и сравнивается с тем, что лежит в базе.
Если хеш введенного пользователем пароля сошелся с хешем из базы — пароль верный, авторизация удалась.

Таким образом, даже если кто-то уведет базу, паролей он не увидит — увидит только их хеши.
________________
На практике чистый md5 использовать не рекомендуется. Ибо тот, кто уведет базу, с большой вероятностью подберет (именно подберет, а не расшифрует! ) довольно приличную часть паролей. Люди-то не так оригинальны, как кажется =))
Поэтому юзают так называемую "соль" — некую секретную последовательность, которая добавляется к хешу для усложнения перебора (ведь кулхацкер не знает, как, что и в какой момент добавляется, значит — не сможет правильно повторить операцию хеширования) .
И связки из двух алгоритмов, например — это уже защитит от брутфорса определенного хеша: ведь чем сложнее алгоритм, тем больше на него тратится времени и тем медленнее будет скорость перебора.
Задержка в авторизации на 0,1 секунды для пользователя незаметна, а перебор таких хешей займет годы даже для относительно простых паролей =)
ЕФ
Евгений Фишер
69 288
Лучший ответ
если взломщик получит доступ к вашей БД, то это уже не важно, хешированы они или нет.. . поэтому к БД не внешнего доступа..
Mg Betta
Mg Betta
94 963
А ты попробуй захешировать, а потом расхешировать обратно и вопросы отпадут.
Добавлю, хоть md5 и шифрует в одну сторону, но метод не дает уникальный "отпечаток" на любую фразу. Т. е для хеш-суммы существует как минимум две комбинации строк которые при хеширование выдадут один и тот же резуьтат - потому пароль можно подобрать, но нельзя расшифровать в обратную сторону
Сергей
Сергей
35 594
расхешировать мд5??? флаг в руки и тысячи лет перебора)))
Витя Чеканов
Витя Чеканов
4 127
мд5 не может.
слишком малая вероятность.

а как вы можете расхешировать мд5?
Konstantin Korobko
Konstantin Korobko
758