PHP расшифровывает пароль - PullRequest
5 голосов
/ 01 сентября 2010

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

Ответы [ 6 ]

18 голосов
/ 01 сентября 2010

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

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

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

4 голосов
/ 01 сентября 2010

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

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

3 голосов
/ 01 сентября 2010

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

1 голос
/ 01 сентября 2010

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

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

0 голосов
/ 01 сентября 2010

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

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

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

0 голосов
/ 01 сентября 2010

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

...