@denisssCute

Как понять, где ошибка в password_verify?

Здравствуйте, использую password_verify для сопоставления введённого пароля и хэша пароля из БД. При выполнении этой функции, даже при правильно введённом пароле у меня выдаётся false
if (password_verify($data['password'], $user->password)) {
            header('Location: main.html');
        } else {
            $errors[] = 'Неправильно введён пароль!';
        }

Первый параметр - пароль из post запроса, второй - поле 'password' из записи в таблице (Выводил отдельно каждую из переменных, всё передаётся правильно).

Но! когда я попытался выполнить функцию с параметром null, у меня выдало true
password_verify(null, $user->password)
Какой из этого можно сделать вывод? Где может быть ошибка? Ведь по отдельности пароль и хэш выводятся нормально, а функция их не видит
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Такое может быть только если вы изначально посчитали password_hash от null и записали это значение пользователю
$hash = password_hash(null, PASSWORD_DEFAULT);
var_dump($hash);
var_dump(password_verify(null, $hash));
// string(60) "$2y$10$mDV3J0gVNslL83.runLF0O4E2pwTGiCgKoZ2b0rjtovP5s/OxVuZK"
// bool(true)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы