PASSWORD_DEFAULT和PASSWORD_BCRYPT有什么区别?它们都使用Blowfish加密算法吗?算法中的成本是什么?如何在PHP中设置password_hash生成255-hash长度而不是60?
发布于 2014-03-14 07:29:43
目前PASSWORD_BCRYPT是唯一支持的算法(使用CRYPT_BLWFISH),因此PASSWORD_DEFAULT和PASSWORD_BCRYPT目前没有区别。PASSWORD_DEFAULT的目的是允许将来包含其他算法,因此PASSWORD_DEFAULT将始终用于应用最强支持的哈希算法。
成本与执行的算法的迭代次数有关,并影响计算速度以及生成的哈希值。更高的成本需要更长的执行时间,从而减缓了暴力攻击
发布于 2014-03-14 07:29:14
根据documentation的说法,PASSWORD_DEFAULT将成为未来的证明
从文档中:
PASSWORD_DEFAULT-使用bcrypt算法(默认为PHP5.5.0)。请注意,此常量旨在随着PHP中添加新的更强大的算法而随着时间的推移而变化。因此,使用此标识符得到的结果的长度可以随时间变化。因此,建议将结果存储在数据库列中,该列可以扩展到超过60个字符(255个字符将是一个不错的选择)。
发布于 2014-03-14 07:35:37
目前,PASSWORD_DEFAULT和PASSWORD_BCRYPT之间没有区别。Refer here
成本将取决于将应用散列的轮数。上面的链接也解释了这一点。如果你想提高散列的安全性,你最好增加轮数而不是长度。
https://stackoverflow.com/questions/22393143
复制相似问题