首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PASSWORD_DEFAULT vs PASSWORD_BCRYPT

PASSWORD_DEFAULT vs PASSWORD_BCRYPT
EN

Stack Overflow用户
提问于 2014-03-14 07:25:39
回答 3查看 23.3K关注 0票数 21

PASSWORD_DEFAULT和PASSWORD_BCRYPT有什么区别?它们都使用Blowfish加密算法吗?算法中的成本是什么?如何在PHP中设置password_hash生成255-hash长度而不是60?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-03-14 07:29:43

目前PASSWORD_BCRYPT是唯一支持的算法(使用CRYPT_BLWFISH),因此PASSWORD_DEFAULTPASSWORD_BCRYPT目前没有区别。PASSWORD_DEFAULT的目的是允许将来包含其他算法,因此PASSWORD_DEFAULT将始终用于应用最强支持的哈希算法。

成本与执行的算法的迭代次数有关,并影响计算速度以及生成的哈希值。更高的成本需要更长的执行时间,从而减缓了暴力攻击

票数 33
EN

Stack Overflow用户

发布于 2014-03-14 07:29:14

根据documentation的说法,PASSWORD_DEFAULT将成为未来的证明

从文档中:

PASSWORD_DEFAULT -使用bcrypt算法(默认为PHP5.5.0)。请注意,此常量旨在随着PHP中添加新的更强大的算法而随着时间的推移而变化。因此,使用此标识符得到的结果的长度可以随时间变化。因此,建议将结果存储在数据库列中,该列可以扩展到超过60个字符(255个字符将是一个不错的选择)。

票数 4
EN

Stack Overflow用户

发布于 2014-03-14 07:35:37

目前,PASSWORD_DEFAULTPASSWORD_BCRYPT之间没有区别。Refer here

成本将取决于将应用散列的轮数。上面的链接也解释了这一点。如果你想提高散列的安全性,你最好增加轮数而不是长度。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22393143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档