Ответ Caddy DZ правильный, но чтобы лучше ответить на ваш вопрос, вы должны знать, что каждый раз, когда вы генерируете новый пароль с помощью функции bcrypt, используется новая случайная соль.
Это приводит к тому, что в итоге вы получаете другой хешодин и тот же пароль каждый раз, когда вы его генерируете.
Единственный способ проверить правильность пароля - использовать встроенную функцию php password_verify
.
Эта функция будет хешироватьсяваш пароль, используя ту же соль, которая использовалась для генерации сохраненного пароля (который вы предоставляете в качестве второго аргумента, поскольку соль, которую нужно использовать, хранится в хэше пароля), которую вы уже имеете в базе данных:
$password = '123456';
$saved = 'your stored hash';
if (password_verify($password, $saved)) {
echo 'Correct password.';
}
Вы можете проверить документацию о password_verify