password_hash каждый раз возвращает значение

Я делаю систему входа в систему, и я хочу хэш-пароли, чтобы сделать их более безопасными, но каждый раз он возвращает другой хеш и даже не может быть проверен с помощью password_verify (), вот мой код:

$password = password_hash($password4, PASSWORD_DEFAULT); 

и вот мой код для проверки:

 if(password_verify($password4, $dbpassword)) 

Related of "password_hash каждый раз возвращает значение"

Так что давайте возьмем его по одной части за раз

но каждый раз он возвращает другой хеш

Это идея. password_hash предназначен для генерации случайной соли каждый раз. Это означает, что вам нужно разбить каждый хэш отдельно, вместо того, чтобы угадывать одну соль, используемую для всего и иметь огромную ногу.

Нет необходимости в MD5 или других хэшированиях. Если вы хотите повысить безопасность password_hash вы получаете более высокую стоимость (стоимость по умолчанию – 10)

 $password = password_hash($password4, PASSWORD_DEFAULT, ['cost' => 15]); 

Что касается проверки

 if(password_verify($password4, $dbpassword)) 

Таким образом, $password4 должен быть вашим неуправляемым паролем, а $dbpassword должен быть хешем, который вы сохранили в своей базе данных