我尝试使用哈希密码登录,但密码不相等 [英] i try to login with hash password but password isn't equal
本文介绍了我尝试使用哈希密码登录,但密码不相等的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
使用哈希密码登录时错误不等于密码
error don't equal password when login with hash password
我尝试使用此代码进行哈希并注册...然后,当我想登录password_hash()时,请创建另一个哈希密码
i try this code for hash and sign up ... then when i want to login password_hash() create another hash password
function addUser($gmail, $password){
$connection = mysqli_connect(DataBaseManager::HOST,
DataBaseManager::USER, DataBaseManager::PASSWORD,
DataBaseManager::DATABASENAME);
mysqli_set_charset($connection, "utf8");
$sqlQuery = "SELECT * FROM users WHERE gmail='$gmail'";
$result = mysqli_query($connection, $sqlQuery);
$hashed = password_hash($password, PASSWORD_DEFAULT);
if(mysqli_num_rows($result) > 0)
{
return false;
}
else{
$sqlCommand = "INSERT INTO users(gmail , password ) VALUES('$gmail', '$hashed')";
if (mysqli_query($connection, $sqlCommand)) {
return true;
} else {
return false;
}
}
}
function getUser($gmail , $password){
$connection = mysqli_connect(DataBaseManager::HOST,DataBaseManager::USER,DataBaseManager::PASSWORD, DataBaseManager::DATABASENAME);
mysqli_set_charset($connection, "utf8");
$hashed = password_hash($password, PASSWORD_DEFAULT);
$sqlQuery = "SELECT * FROM users WHERE gmail='$gmail' AND password = '$hashed'";
var_dump($sqlQuery);
$result = $connection->query($sqlQuery);
if ($result->num_rows > 0) {
return true;
}else{
return false;
}
}
推荐答案
password_verify 用于验证.
这篇关于我尝试使用哈希密码登录,但密码不相等的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文