Почему hash_password() каждый раз генерирует разное значение? Вопрос скорее не в том, почему (потому что итак понятно, что это из за соли, которая каждый раз разная), а в том, какой от этого смысл?
Если я запишу в базу такой сгенерированный пароль, а потом буду сравнивать введенное значения пользователя, зашифрованное этой функцией со значением в базе, то они будут разные, соответственно пользователь никогда не сможет войти на сайт.
Другое дело - использование любой другой функции, будь то sha256, sha512, да тот же md5. Они постоянно генерируют одно и то же значение, поэтому его всегда можно сравнить со значением в базе.
Так как же быть?

21 Авг 2019 в 07:13
278 +1
0
Ответы
1

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

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

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

20 Апр в 13:05
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 548 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир