phpass не работает

Я хэширую пароли при создании учетной записи, и что она работает (с паролем, установленным на VARCHAR(60)), но когда я пытаюсь сделать это:

    $query = $this->CI->db->query("SELECT * FROM users WHERE email = ?", $email);

    if ($query->num_rows() > 0) {
        $user_pass = $query->row()->password;

        $hasher = new PasswordHash(PHPASS_HASH_STRENGTH, PHPASS_HASH_PORTABLE);

        if ($hasher->CheckPassword($user_pass, $pass)) {
            return true;
        } else {
            return false;
        }
    } else {
        return false;
    }

всегда возвращает false. Есть идеи, почему это может быть? (пароль, который я предоставляю, правильный)

1 ответ

Я думаю, что вы перевернули поле проверки пароля. Это должно быть так:

$hasher->CheckPassword(password which has to be checked, password from database).

Это имеет значение, потому что Check Password собирается хешировать пароль, который должен быть проверен.

Другие вопросы по тегам