PHP расшифровывает пароль

Хорошо. Понятно, что нужно хранить хешированный пароль в базе данных, но в случае, если пользователь не запомнил пароль и не хочет восстановить его, тогда, очевидно, пользователь не захочет иметь хешированный пароль. Если пароль хешируется с помощью md5 или дополнительных, таких как salt и sha1, то как восстановить пароль.

6 ответов

Решение

Есть только один простой ответ: вы не можете.

Ну, теоретически вы можете, но это может занять много лет на пароль, если они достаточно длинные. В конце концов, в этом и заключается смысл хеширования паролей: сделать данные практически бесполезными для злоумышленника (или, по крайней мере, защитить незашифрованный пароль пользователя, который является конфиденциальной информацией).

Просто попросите сайт отправить электронное письмо с просьбой изменить свой пароль, содержащее ссылку на страницу, где этот пользователь может изменить свой пароль. Вот как большинство профессиональных сайтов справляются с этой дилеммой.

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

См. Забытый пароль: каков наилучший способ реализации функции забытого пароля?,

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

Само хэширование означает "не может быть получено обратно".

Если пользователь не может вспомнить свой пароль, он точно не нужен.
Просто создайте еще один случайный и отправьте их.
Не так уж и важно.

Да.. один может забыть свой пароль.. хорошая практика при использовании хешированного пароля состоит в том, чтобы пользователь вводил адрес электронной почты учетной записи, пароль которой он / она хочет сбросить, тогда система будет сбрасывать пароль пользователя с другим сгенерированный пароль. MD5-подобный хешированный пароль практически невозможно восстановить из хешированного.

Всегда остерегайтесь сайтов, которые могут по электронной почте вам пароль, который вы используете. Это означает, что ваш пароль легко увидит любой, у кого есть доступ к базе паролей, что особенно опасно, если вы повторно используете пароли.

Для сброса пароля я рекомендую использовать "безопасные вопросы" с ответами, которые также зашифрованы.

Всем тем, кто управляет веб-сайтами, следует обеспечивать разумную защиту своих клиентов от хакеров.

Другие вопросы по тегам