В настоящее время я работаю над входом в PHP, пароль зашифрован в другом файле с использованием password_hash('password',PASSWORD_BCRYPT)
, я фактически извлекаю данные из mySQL и получаю данные из вызова AJAX, но я есть объявленные переменные для показа моей проблемы:Пароль не работает с паролем hash BCRYPT
<?php
require "modulos/conexion.php";
session_start();
if (!isset($_SESSION['username']) && !isset($_SESSION['userid'])) {
$usuario = "mariano overs";
$pass = "1234";
$passdb = '$2y$10$A1nr4od4OjP0N1hNoB9Seur3OsWzU3ufT4G82XNTLV3'; // equivalent of password_hash('1234',PASSWORD_BCRYPT), this is value from DB
$sql = 'SELECT id_usua, co_usua, ds_pass FROM dbfar_cabusuarios WHERE co_usua="' . $usuario . '" LIMIT 1';
if ($res = mysqli_query($GLOBALS['conexion'],$sql)) {
if (mysqli_num_rows($res) == 1) {
$usuario = mysqli_fetch_array($res, MYSQLI_ASSOC);
echo "Contrasena guardada: ". $pass . "<br />Contrasena de la base: " . $usuario['ds_pass'] . "<br />";
if (password_verify($pass, $passdb)){
$_SESSION['username'] = $usuario['co_usua'];
$_SESSION['userid'] = $usuario['id_usua'];
echo "INICIO SESION CORRECTAMENTE";
}
else{
echo "INICIO SESION NO CORRECTO";
}
} else {
echo "REGISTROS NO CORRECTOS";
}
} else {
echo "USUARIO NO EXISTE";
}
}
Так как я знаю, что получить нужное значение из базы данных, это не проблема, но на password_verify функции. Они неправильно утверждены. Есть ли дополнительная ценность, которую мне нужно включить на password_verify
?
Нет, вы используете его правильно. Есть ли ошибки в вашем журнале ошибок? –
Какова длина и тип столбца паролей? –
* «У меня есть мои деньги на этом Сэме» *^@JayBlanchard хочет принять 10 к 1 шансов?;-) –