当我的用户在注册和登录时输入密码时,我正在使用 phpass。当我在我的 Mac 上本地工作时它正在工作。
但是当我在线时散列密码时,就像它以错误的方式散列一样。
我已将本地数据库导入在线数据库。我在本地时生成的密码在我在线时非常有效。
所以.. 当我在线使用 phpass 时,就好像出现了完全错误的情况。
我这样使用它:
$hasher = new PasswordHash(8, FALSE);
$password = HashPassword($_POST["password"]);
这会给我类似的东西:
_zzD.NrhAaUmhr6G8i5E //when I'm local
$2a$08$mt3//cn0tqMmug/.tjKeC.AbZhYyj470EY9zSivZvNOtwk4A //when I'm online
当我检查密码时,它是这样的:
$hasher = CheckPassword($_POST["password"], $row["password"]);
//$_POST is ofc. the submitted
//$row is the password for the user from the db.
//the user is found on the username and then im checking password.
我完全不知道出了什么问题。我希望SO上的某个人也有同样的问题。