Вопрос по BCRYPT

Всем привет. У меня возник вопрос по самому BCRYPT и если кто-то может то еще одну проблему решить.

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

error_reporting(E_ALL);
ini_set('display_errors', 1);
require_once "../includes/functions.php";
require_once "../includes/discord.php";
require_once "../config.php";
require_once "../root/dbconnect.php";
$auth_url = url($client_id, $redirect_url, $scopes);
$did = $_SESSION['user_id'];
$mail = $_SESSION['email'];
$name = $_POST['nickname'];
$cardname = $_POST['cardname'];
$pass = $_POST['password'];
$passwdh = password_hash($pass, PASSWORD_BCRYPT, $options);
$check = mysqli_query($server, "SELECT * FROM `AUTH` WHERE `NICKNAME` = '$name' AND `HASH` = '$passwdh'");

// SELECT * FROM `AUTH` WHERE `NICKNAME` = 'Tok1shu' AND `HASH` = ''

while(true) {
  // Generate card number
  $random = rand(1000,9999);
  // Check
    $result = mysqli_query($connect, "SELECT * FROM `users` WHERE `cardid` = '$random'");
  // Если число есть в таблице - выход из повторов
  if (mysqli_num_rows($result) == 0) break;
}
if (mysqli_num_rows($check) > 0) {
$reg_result = mysqli_query($connect, "INSERT INTO `users`(`did`, `email`, `name`, `cardid`, `cardname`) VALUES ('$did','$mail','$name','$random','$cardname'");
echo("Успешный вход");

}else{
echo("Неверные данные входа");

}
?>

Также есть ошибка там где переменная $pass введите сюда описание изображения

Линия 23 это $pass = $_POST['password']; если что то тут используется 2 базы данных. буду благодарен если поможете. Не бейте палками пожалуйста, я впервые столкнулся с Bcrypt


Ответы (1 шт):

Автор решения: Tokishu

Вы неправильно решаете задачу, для проверки правильности пароля нужно использовать функцию password_verify

  • ответ не мой
→ Ссылка