0

我正在为我的网站使用 Tank Auth。

我搜索了一个功能,当用户尝试更新他的个人资料时,它会检查用户是否输入了有效密码。

我不明白如何从用户输入中对与数据库中的密码匹配的密码进行哈希处理。

这是我的控制器代码:

            $password = $this->input->post('password');
            $hasher = new PasswordHash(
                $this->config->item('phpass_hash_strength', 'tank_auth'),
                $this->config->item('phpass_hash_portable', 'tank_auth')
            );
            $hashed_password = $hasher->HashPassword($password);

$hashed_password每次给我不同的哈希

我不认为我应该启用phpass_hash_portable

有什么建议吗?

4

2 回答 2

2

您需要使用 Tank Auth 的 CheckPassword 模块,而不是使用 phpass 的 PasswordHash 对其进行散列。

于 2012-09-27T08:57:41.833 回答
0

您可以使用此功能检查您的密码:

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

而不是自己加密。

注意:必须检查的密码 => 是来自数据库的原始数据密码 => 来自数据库的密码。

于 2012-09-27T09:08:06.783 回答