小编Lew*_*ler的帖子

PHP - password_verify问题

我已经摸不着头脑了2个多小时.我研究过有关stackoverflow的文章,包括:

我还没能纠正我的问题.我会很感激我有多少白痴的指导:

将数据插入MySQL数据库的功能:

function insertUser($userObj) {
    $query = $this->databaseConnection->getStntPrepare()->prepare(
            "INSERT INTO user(username, userpassword) VALUES (?,?);");
    $username = $userObj->getUsername();
    $password = password_hash('testing1234', PASSWORD_BCRYPT);

    $query->bind_param('ss', $username, $password);
}
Run Code Online (Sandbox Code Playgroud)

通过从MySQL检索数据来验证用户登录:

function findUser($userObj) {
    $query = $this->databaseConnection->getStntPrepare()->prepare(
            "SELECT userid, userpassword 
                FROM user 
                WHERE username=?");

    $pass = 'testing1234'
    $query->bind_param('s', $userObj->getUsername());
    $query->execute();
    $query->bind_result($userid, $hash);

    while ($query->fetch()) {

        if (password_verify($pass, $hash)) {
            echo 'Password is valid!';
        } else {
            echo 'Invalid password.';
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

运行时,我会收到"密码无效".

当我执行以下操作而不插入数据库然后检索:

$hash = password_hash('testing1234', PASSWORD_BCRYPT);
if (password_verify('testing1234', …
Run Code Online (Sandbox Code Playgroud)

php mysql hash php-password-hash

5
推荐指数
1
解决办法
2890
查看次数

标签 统计

hash ×1

mysql ×1

php ×1

php-password-hash ×1