2

我有兴趣使用 Taylor Hornby(又名 Defuse)的 PHP 密码哈希方法(PHP 兼容版本),我在这里找到了它:https ://github.com/defuse/password-hashing

  1. 它在 PHP 4 及更高版本中是否“安全”工作?
  2. 它在不同的服务器上是否安全工作?64 位会提供与 32 位相同的哈希值吗?

我问这个是因为不同的托管公司提供不同的 PHP 版本和不同的 Linux 版本,这就是为什么我害怕实现这种技术,它可能在我的开发服务器中运行良好,但在生产服务器中无法正常运行。

4

2 回答 2

5

它在 PHP 4 及更高版本中是否“安全”工作?

这个问题是在 2014 年提出的;在那个时候运行 PHP 4 是没有任何借口的。请尽快更新到受支持的 PHP 版本(例如 5.6)。如果这超出了您的控制范围,请抵制您的托管服务提供商(请提供姓名,以便我们可以迫使他们更新)。

它在不同的服务器上是否安全工作?64 位会提供与 32 位相同的哈希值吗?

是的,无论平台架构如何,Defuse 的代码都运行良好。但这不是这个问题的真正答案。

任何人都可以提供的最佳答案是您应该使用password_hash()and password_verify(),它们是为密码设计的,并且在当前默认 (bcrypt) 过时时将与新算法向前兼容(例如,通过密码散列竞赛获胜者scrypt 或 Argon2 ) .

这些函数在 PHP 5.5.0 和更新版本中可用,或者在 5.3.7 和更新版本中使用ircmaxell/password_compat(由 PHP 5.5 中使用的函数的作者编写和维护)。

如果您使用的是旧版本的 PHP,最好的选择是使用PHPass

于 2015-07-29T00:38:15.160 回答
2

它在 PHP 4 中不起作用,因为它需要hash_pbkdf2在 PHP 5.5+ 中可用)或hash_hmac在 PHP 5.1+ 或 PECL 中可用)。

它在 64 位和 32 位中的工作方式相同。

于 2014-10-12T00:15:07.857 回答