Loading...
Всем привет, изучаю PDO есть регистрация, пароль хешируется через password_hash Как правильно теперь расшифровать его через password_veryfi, точнее как вставить 2ым параметром зашифрованный пароль из бд
php
   $stat = $dbconn->prepare('SELECT id FROM users WHERE (user_name = :user_name OR email = :user_name) AND password = :password');          $stat->execute([             'user_name' => $_POST['user_name'],             'password' => password_verify($_POST['password'], ???????)         ]);         $id = $stat -> fetchColumn();         if(!empty($id)){             $_SESSION['user_id'] = $id;             die("Вы успешно авторизировались");         } else {             $errors[] = 'Вы не правильно ввели логин или пароль';         }   
Делаешь выборку по юзер нейм и в иф сравниваешь пароль и вопрос, а причём здесь pdo? Это же просто драйвер Гг
Либо передашь готовый хеш в базу и ищеш Гг
php
   public function hashing($var, $hash = false) { if (!$hash) return password_hash($var, PASSWORD_BCRYPT); else return (password_verify($var, $hash)) ? true : false; }   
Вот тебе простая функция. Загоняешь один параметр - получаешь хеш, в случае с crypt() длина хеша будет 60. Если передаешь два параметра: первый это указанный пароль, второй - хеш. Его вытаскиваешь из базы, выборка по мыло или логину, как там у тебя сделано, и тупо сравниваешь.
SerjTankian , спасибо
Онлайн: 1
Время:
Gen. 0.0993
(c) Bym.Guru 2010-2026