mysql — PHP 5.5 Password_Verify не работает при извлечении данных из базы данных

Я намерен использовать password_hash а также password_verify функции для безопасного хранения паролей.

Когда я использую один ниже. Это работает

$hash = password_hash('test',PASSWORD_DEFAULT);
$state= password_verify('test',$hash);

if($state){
echo "OK";
}
else{
echo "No!";
}

Но когда я пытаюсь записать пароль в базу данных и получить его от. Не работает

$Pass= password_hash($pass,PASSWORD_DEFAULT);
$query= "INSERT INTO user(email, password) VALUES('$Email','$Pass')";
mysqli_query($link,$query);

$query= "SELECT password FROM user WHERE email='[email protected]'";
if($result=mysqli_query($link,$query)){
$Array=mysqli_fetch_array($result);
$isComplete=password_verify($pass,$Array[1]);
if($isComplete){
echo "OK!"}else{
echo "Not OK!";
}
}

Это моя колонка

введите описание изображения здесь

-1

Решение

Пароль находится в $Array[0] не в $Array[1] ,

Но вы обязательно должны использовать Подготовленные заявления защитить ваше приложение от потенциальных атак SQL-инъекций

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]