Хеширование работает в одностороннем порядке, поэтому вы не можете «извлечь» то, что хэшировали.
Когда вы сохраняете пароль при регистрации, используйте что-то вроде этого:
$hash=hash('sha256', $password);
Итолько сохранить $hash
в базе данных.Когда пользователь пытается войти в систему, хэшируйте пароль, который он пытается использовать, и сравнивайте его с паролем в базе данных (хеширование всегда даст один и тот же результат для одного и того же ввода).Если они совпадают, он может войти в систему (если все дополнительные проверки выполнены).
Если вы хотите, чтобы пользователь мог восстановить свой забытый проход, обратитесь к этому более раннему вопросу .
Кроме того, лучшая практика при хешировании паролей заключается в использовании какого-либо вида salt
, который выходит за рамки этого вопроса, но, пожалуйста, загляните в него.