所以我正在使用新的 PHP 5.5 Password Hashing API,但我不确定我是否正确理解了这一点。
我试过自动重新散列每次登录,有时我失败了,即使散列结果是一样的,我觉得我做错了什么。
这可能是我可能弄错了查询函数,因为当我检查 phpMyAdmin 时哈希甚至没有改变。
if (password_needs_rehash($result_row->user_password_hash, PASSWORD_DEFAULT))
{
$newhash = password_hash(
$_POST['user_password'], PASSWORD_BCRYPT,
['cost' => 12, 'salt' => 'superfreakingsonicdude',]
);
// update hash in database
$this->connection->query(
"UPDATE users SET user_password_hash='" . $newhash .
"' WHERE user_name='".$result_row->user_name."'"
);
}