Checkpassword问题与PHPass(Checkpassword Issue with PH

2019-11-02 00:33发布

我使用phpass密码加密。 当我增加了用户的密码是越来越散列并存储在数据库中。 但是,当我尝试与存储在checkpassword返回一个空字符串数据库的用户凭据登录。 下面给出的是我使用的用于检查密码的代码。

    function PackageAccess($username,$password)
    {
        $db = new mysqli(DB_SERVER,DB_USER,DB_PASSWORD,DB_NAME) or die("Could not Connect");
        $hasher = new PasswordHash(8,FALSE);
        $accessvalue = 0;
        $query = "select passwrd from usermaster where username=?";
        if ($stmt=$db->prepare($query))
        {
            $stmt->bind_param("s",$username);
            $stmt->execute();
            $stmt->bind_result($a);
            while($stmt->fetch())
            {
                if($hasher->CheckPassword($password,$a))
                {
                    $accessvalue = 1;
                }
                else
                    {
                        $accessvalue = 0;
                    }
            }
            $stmt->close();
        }
        $db->close();
        $hasher = null;
        return $accessvalue;
    }

此代码总是给我一个空字符串和非真非假。 希望有人能在此抛出一些轻。

文章来源: Checkpassword Issue with PHPass
标签: php phpass