Попробуйте использовать password_hash
/ password_verify
:
TEST:
Попробуйте сначала создать пароль пользователя с помощью password_hash()
, а затем вручную сохранить его в базе данных,
password_hash('password123', PASSWORD_DEFAULT);
Будет выводиться как: $2y$10$8UgJIh.KAnDc1/b.4gb33eaBtrDRgXb2kQt8oNO0GKRe6sIFKR8IC
Затем, чтобы проверить, вы можете использовать password_verify()
, чтобы проверить, совпадает ли введенный пароль пользователя с hashed password
в базе данных. Используйте if else statement
для этой функции. password_verify()
также возвращает true для каждой совпадающей хэшированной строки. (Предположим, что $password = 'password123'
и $hashed_password = $2y$10$8UgJIh.KAnDc1/b.4gb33eaBtrDRgXb2kQt8oNO0GKRe6sIFKR8IC
, поэтому проверка будет:
if(password_verify($password,$hashed_password)) { successful login } else { failure }
Вы можете прочитать больше о password_hash () и password_verify () для более подробного объяснения.
Это только пример, он может не работать с вашим текущим кодом, потому что кажется, что вы использовали другую функцию хеширования. Надеюсь, это поможет!