Пароль не подтвержден с помощью функции password_verify
Я думаю, что я хэшировал пароль, используя функциюPASSWORD
непосредственно из базы данных MySQL (я здесь делаю неправильно?). И я пытаюсь проверить этот пароль с помощью этого кода:
if($submit)
{
$first=$_POST['first'];
$password=$_POST['password'];
$hash="*85955899FF0A8CDC2CC36745267ABA38EAD1D28"; //this is the hashed password i got by using function PASSWORD in database
$password=password_verify($password,$hash);
$db = new mysqli("localhost", "root","","learndb");
$sql = "select * from admin where username = '" . $first . "' and password = '". $password . "'";
$result = $db->query($sql);
$result=mysqli_num_rows($result);
if($result>0)
{
session_start();
$_SESSION['logged_in'] = true;
session_regenerate_id(true);
header("Location:loginhome.php");
}
}
Но пароль не совпадает. Что мне здесь не хватает?
ОБНОВИТЬ:
После всех предложений, которые я использовалpassword_hash
из PHP-кода для хранения в базе данных.
$db = new mysqli("localhost", "root","","learndb");
$password=password_hash('ChRisJoRdAn123',PASSWORD_DEFAULT);
$sql="INSERT INTO admin (username,password)values('ChrisJordan','$password')";
$db->query($sql);
Тем не менее пароль не совпадает.