Password_verify无法正常工作

时间:2016-10-02 14:35:15

标签: php oop passwords password-protection password-encryption

我尝试使用OOP在php中创建一个登录系统。使用此代码可以正常工作:

if ($_SERVER['REQUEST_METHOD'] === 'POST' &&
    !empty($_POST['email']) &&
    !empty($_POST['password'])) {
    $email = $_POST['email'];
    $password = $_POST['password'];
    $loggedUser = Users::loadUserByEmail($conn, $email);

    if ($loggedUser != null) {
        $loggedUserId = $loggedUser->getId();
        $_SESSION['loggedUserId'] = $loggedUserId;
        header('Location: index.php');
    } else {
        $info = "Invalid login or password. Try again";
    }
} else {
    $info = "Invalid login or password. Try again";
}

但是在这种情况下密码没有检查,所以我尝试添加password_verify函数。

if ($loggedUser != null) {
    $hash = $loggedUser->getHashedPassword();
    if (password_verify($password, $hash)) {
        $loggedUserId = $loggedUser->getId();

下一步手动检查$ hash和var_dump显示与我的数据库中的相同,但函数返回false。什么是不正确的?

0 个答案:

没有答案