включены в сам хэш.

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

$username = mysqli_real_escape_string($connection, $_POST['username']);

$password = mysqli_real_escape_string($connection, $_POST['password']);

$query = "SELECT username, password FROM `users` WHERE username='$username' and user_enabled='1'";
$result = mysqli_query($connection, $query) or die(mysqli_error($connection));
if($row = mysqli_fetch_assoc($result)) { $dbpassword = $row['password']; }

if(password_verify($password, $dbpassword)) {
    echo "Successful login";
}else{
    echo "Invalid Login Credentials.";
}

Я всегда получаю неверные учетные данные.

Когда я изменяю новый пароль для пользователя, я делаю следующее:

$pass = mysqli_real_escape_string($connection, $_POST['password']);
$options = [ 'cost' => 10,
             'salt' => mcrypt_create_iv(22, MCRYPT_DEV_URANDOM),
           ];
$password = password_hash($pass,  PASSWORD_BCRYPT, $options)."\n";

$query = "UPDATE users 
          SET `password` = '".$password."'
          WHERE id = ".$_POST['user_id']."
          ";

$result = mysqli_query($connection, $query) or die(mysqli_error($connection));

пароль в базе данных VARCHAR (255), и он хранит что-то вроде:

$2yИспользуйте значения заполнителя. Это исправляетY5HIyAsLMfkXIFSJONPsfO3Gxx3b46H.8/WFdLVH3Fqk2XNfy2Uaq

Что я здесь не так делаю?

Ответы на вопрос(1)

Ваш ответ на вопрос