Я имею зашифрованный пароль md5, как дать пароль пользователю, когда он использует «Забыли пароль»?

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

Solutions Collecting From Web of "Я имею зашифрованный пароль md5, как дать пароль пользователю, когда он использует «Забыли пароль»?"

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

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

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

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

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

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

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

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

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

Благодарю.

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

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