У меня есть md5 зашифрованный пароль, как дать пароль пользователю, когда он использует «Забыли пароль»? - PullRequest
5 голосов
/ 13 декабря 2010

У меня есть запись в базе данных для пароля в формате md5, но когда пользователь использует «Забыли пароль», как я могу дать ему / ей желаемый пароль?

Ответы [ 5 ]

12 голосов
/ 13 декабря 2010

Вы не можете сделать это из хеша MD5;и вы не должны быть в состоянии.Восстановление пароля должно быть сложным.

Обычный процесс - отправить токен сброса пароля (URL) на свой адрес электронной почты, чтобы пользователь мог выбрать новый пароль.

3 голосов
/ 13 декабря 2010

Вы не можете - MD5 - это просто «односторонний» хеш, а не средство шифрования данных, которые впоследствии можно расшифровать.

Таким образом, общая идея заключается в следующем:

  1. Отправьте пользователю электронное письмо на его зарегистрированный адрес со ссылкой для сброса. (Чтобы доказать, что они действительно владеют адресом.) Ссылка сброса должна содержать хэш, основанный на некотором аспекте их конкретных пользовательских данных, поэтому его трудно угадать и т. Д. (Например, время создания учетной записи.)

  2. Когда пользователь щелкает ссылку, на которую он попадает, на странице сброса пароля, которая проверяет вышеуказанный хеш, генерирует новый пароль (в идеале сочетание верхних / нижних и некоторых числовых символов, хотя я всегда склонен пропускать такие символы в качестве «0», «o», «O» и т. д. для ясности), а затем отправляет пользователю новый пароль в электронном письме, сообщая ему, что ему следует сменить этот пароль как можно скорее.

Затем пользователь может войти в систему и получить доступ к сайту, как обычно.

2 голосов
/ 13 декабря 2010

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

Спасибо.

2 голосов
/ 13 декабря 2010

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

1 голос
/ 13 декабря 2010

У вас есть шанс 1/100 восстановить этот пароль (методом словаря) с учетом длины пароля.Я не буду рекомендовать его.

Лучше создать новый случайный пароль и отправить его на электронную почту пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...