Авторизация пользователей - сравнение пароля

Делаю страницу для авторизации пользователей

1) Вот так у меня хешируется пароль при сохранении в бд

$hash_pass = password_hash($password, PASSWORD_DEFAULT);

2) При попытке пользователя зайти на сайт я для начала проверяю существует ли такой логин и потом уже в соответствии с логином делаю второй запрос и получаю по этому логину пароль (логин уникальный)

$check_password = $pdo->prepare('SELECT `password` FROM `users` WHERE `mail` = :mail');
$check_password->execute(['mail' => $mail]);
$hash = $check_password->fetchColumn();

3) После чего пытаюсь сравнить пароль введенный в форме с тем который получил по запросу в бд. и вот тут то у меня проблемы, я проверял если не использую хеширования и сравниваю то все работает но при использовании алгоритмов хеширования ничего не получается.

password_verify($password, $hash)

все время возвращает false, помогите разобраться, как правильно сделать проверку пароля?


Ответы (1 шт):

Автор решения: Сергей Кузнецов

Для тех, кто возможно столкнется с такой же проблемой, я указал слишком маленький размер для колонки с паролем в БД, все заработало как только изменил его.

→ Ссылка