我尝试使用哈希密码登录,但密码不相等 [英] i try to login with hash password but password isn't equal

查看:62
本文介绍了我尝试使用哈希密码登录,但密码不相等的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用哈希密码登录时错误不等于密码

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆