phpass返回不同的结果

时间:2012-01-17 15:50:14

标签: php security phpass

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

因此,相同的函数在线时返回false。我想知道问题可能是什么。

结果如下:

输入: 12345

  • 本地主机:$ 2A $ 08 $ t5joFUIbEThylj / IyUVy7.WzMZm8fmKjsy0kZc / YxgqzkbYQWnlre
  • 主持人:$ P $ 9QiKVfJzpRzoToBCJg8FeaDIfcAJJ61

编辑:我打开TRUE标志以使密码可移植但仍然无法正常工作。

编辑2:无法使用php 4或5而我在DID上打开便携模式!!

3 个答案:

答案 0 :(得分:2)

  

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

- > Portable (PHPass) password hashes. Should I use them?

答案 1 :(得分:2)

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

答案 2 :(得分:0)

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