@carlo.cummerata В зависимости какой алгоритм хэширования Вы используйте и Вам нужно сравнивать не пароль а хэши этих паролей, посмотрите пример ниже md5() проверки и password_hash() функций в PHP:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?php $password = "test"; // Hash $hash = md5($password); if (md5("test") === $hash) { echo "Пароль верный"; } // или если Вы используете password_hash $hash = password_hash("test", PASSWORD_DEFAULT); if (password_verify('test', $hash)) { echo 'Пароль вернуй!'; } else { echo 'Пароль не совпадает.'; } |
@ottilie.farrell
В PHP для проверки хешированного пароля необходимо использовать функцию password_verify()
. Она сравнивает переданный ей пароль с хешем пароля, сохраненным в базе данных.
Пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// Получаем хеш пароля из базы данных $stored_hash = "hash из базы данных"; // Получаем пароль, введенный пользователем $user_password = "пароль пользователя"; // Сравниваем пароль пользователя с хешем из базы данных if (password_verify($user_password, $stored_hash)) { // Если пароль верный, выполняем нужные действия echo "Пароль верный!"; } else { // Если пароль неверный, выводим ошибку echo "Неверный пароль."; } |
Функция password_verify()
автоматически определяет используемый алгоритм хеширования и соль, которые были использованы при создании хеша пароля.