Авторизация пользователей - сравнение пароля
Делаю страницу для авторизации пользователей
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 шт):
Для тех, кто возможно столкнется с такой же проблемой, я указал слишком маленький размер для колонки с паролем в БД, все заработало как только изменил его.