0

我只是将我的项目从 localhost 放到我的主机上,并使用相同的 (phpass) 函数收到不同的结果,并且返回的字符串的长度也不同。(顺便说一句,一切都在本地主机上运行)

所以同样的函数在线时返回false。我想知道问题可能是什么。

结果如下:

输入:12345

  • 本地主机:$2a$08$t5joFUIbETHylj/IyUVy7.WzMZm8fmKjsy0kZc/YxgqzkbYQWnlre
  • 主机:$P$9QiKVfJzpRzoToBCJg8FeaDIfcAJJ61

编辑:我打开了 TRUE 标志以使密码可移植,但它似乎仍然不起作用。

编辑 2:不适用于 php 4 或 5,我确实打开了便携式模式!

4

3 回答 3

2

警告:默认情况下,该库会生成不可移植的强系统特定密码哈希。这意味着一旦创建,用户数据库就不能转储并导出到另一台服务器。也可以在配置文件中更改此行为。

->便携式(PHPPass)密码哈希。我应该使用它们吗?

于 2012-01-17T15:55:19.977 回答
2

如果我没记错的话,phpass 使用了最好的方法。在这种情况下,live 主机上可用的模块似乎与 localhost 上的模块不同,因此 phpass 必须选择不同的方法。“$2a$”表示 bcrypt,“$P$”表示 phpass 的内部哈希。即,现场主机似乎没有可用的 bcrypt。

于 2012-01-17T15:57:41.540 回答
0

我终于发现问题不是 phpass 本身,而是脚本导致错误(mysql 实名转义是问题,ajax 实际上是对我隐藏它)无论如何,现在一切正常,谢谢。

于 2012-01-18T08:55:58.300 回答