测试示例您可以在这里看到:https://3v4l.org/elrB8(1.1 - 1.3秒),而相同的代码在我的服务器上使用PHP 5.6运行大约27-57秒。
哪些因素会导致减速?哪些PHP设置会影响这个函数?
cost和PASSWORD_DEFAULT在两个服务器上是相同的
这就是cost
参数的作用。更多的成本等于更多的哈希,这需要你更长的计算时间,但也需要潜在的破解者想要通过暴力破解密码。
因此,password_hash花费的时间比一纳秒要长,您必须使用cost
来看看什么最适合您,但是再次强调,它不应该太快!
如果我没记错的话,bcrypt
目前是默认的哈希算法,bcrypt
的成本不是线性的。当cost
增加时,你会看到一个指数级的时间增长。