password_verify выдает false после password_hash, должно быть true

Я продолжаю получать неправильный результат с этим и не могу понять почему.

Я сохраняю нового пользователя и его пароль следующим образом:

// get password input
$pass = $_POST[ 'password' ];

$options = [
'cost' => 12
];

$pass = password_hash($pass, PASSWORD_DEFAULT, $options);
// add to db

$sql = "insert into clients(first_name, last_name, email, password_hash) values ('$fname', '$lname', '$email', '$pass')";

для пароля123456«Я понимаю это:
$ 2y $ 12 $ DUd9LWGk2b26r2nQZ6KsfexFrHI / 36RJrq8lAo8vk6XC6VKibIPVG

Следующим шагом подтвердите пароль:

// get password input
$pass = $_POST[ 'password' ];

// get row hash from database
$sql = "select email, password_hash, active from clients where email = '$email'";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows( $result ) == 0)
{
// Email not found in the database...
}

$row = mysqli_fetch_assoc($result);

// true if password is correct
if ( password_verify( $pass, $row['password_hash'] ) )
{
// logged in
}
else
{
$passInDb = $row['password_hash'];
// Login failed
$_SESSION['error'] = "Incorrect email or password. Cannot verify: $pass ,\n $passInDb" ;
// redirect to login page
header('Location: ../index.php');
}

Теперь, когда я пытаюсь войти, я получаю:

Неверный адрес электронной почты или пароль. Невозможно проверить: 123456 , $ 2y $ 12 $ DUd9LWGk2b26r2nQZ6KsfexFrHI / 36RJrq8lAo8vk6XC6VKibIPVG

Я действительно не понимаю, почему password_verify дает мне ложь …

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]