bug*_*com 15 passwords hash password-protection bcrypt pbkdf2
我一直在阅读关于Gawker事件的文章,并且有几篇关于仅使用bcrypt哈希密码的文章,我想确保我的哈希机制足够安全以避免切换到另一种方法.在我目前的应用程序中,我选择了使用sha2-512和至少1000次迭代的PBKDF2实现.
我是否可以就使用PBKDF2与Bcrypt以及是否应该实施更改提出意见?
dch*_*est 27
你对PBKDF2很好,不需要跳转到bcrypt.
尽管如此,建议在2000年使用1000次迭代,现在你需要更多.
此外,使用bcrypt时应该更加小心:
值得注意的是,虽然对于大多数类型的密码,bcrypt比PBKDF2更强,但是对于长密码而言,它落后了; 这是由于bcrypt无法使用超过密码短语的前55个字符而我们的估计成本和NIST的结果.密码短语熵的估计表明,bcrypt的55个字符的限制目前不太可能导致问题,依赖于bcrypt的系统的实现者可能会被建议解决这个限制(例如,通过"预先传输"一个密码来解决这个问题.使其达到55个字符的限制)或采取措施防止用户在第56个及后续字符中放置太多密码熵(例如,通过要求网站用户在只有空格的输入框中键入他们的密码55个字符).
也就是说,还有scrypt.
如果没有上面提到的scrypt论文中的表格,任何比较都是不完整的:

PBKDF2-HMAC-SHA256的迭代计数分别为86,000和4,300,000.