2

我向客户推荐了他们的登录系统实现password_needs_rehash,这样当他们的 PHP 版本升级时,他们的 web 应用程序中的用户帐户将自动重新散列并重新保存密码。我这样做的原因是为了确保随着暴力破解密码变得更有能力,随着 CPU 速度越来越快,密码哈希需要升级。

我从 PHP 5.5 中引入 PHP 哈希工具的评估开始,从那时起我们已经有了五个主要版本,其中 7.4 即将发布。这些是否更改了默认散列算法或内部成本选项,以便在使用 rehash 测试函数时呈现“旧”散列将返回 true?

如果他们有,我可以获取一个旧的 PHP 副本,生成一个哈希,然后在我的 API 测试中使用它,以证明旧的哈希确实在更高版本的 PHP 中得到了升级。

看起来7.2 和 7.3 包含了新的哈希算法,但默认值没有更改,在此基础上,此方法将返回 false 。自添加这些功能以来,我还没有找到有关默认成本是否已更改的任何信息。

如果默认password_hash设置从未更改会导致重新散列,我可以cost根据password_hash文档页面上的计时脚本添加手动参数,但这需要我的非技术客户不太可能进行的手动干预他们自己。可以基于PHP升级自动吗?

4

0 回答 0