密码加密:PBKDF2(使用SHA512 x 1000)vs bcrypt
-
09-10-2019 - |
解决方案
您对PBKDF2的效果很好,无需跳到bcrypt。
虽然,建议使用1000次迭代的建议是在2000年进行的,但现在您想要更多。
另外,使用bcrypt时,您应该更加注意:
还值得注意的是,尽管对于大多数类型的密码,BCRypt比PBKDF2强,但它却落后于长密码。这是由于BCrypt无法使用超过55个密码的55个字符,而我们的估计成本和NIST则产生了更多。媒介物熵的估计表明,BCRYPT的55个字符限制目前不太可能引起问题,依靠BCRypt的系统的实施者可能会得到很好的建议,可以遵守这种限制(例如,通过“预击手”来“预击”密码,以使密码适用于该限制。使其符合55个字符的限制)或采取措施防止用户在第56个和随后的字符中放置过多的密码熵(例如,通过要求网站的用户将其密码键入仅具有空间的输入框中对于55个字符)。
也就是说,还有 Scrypt.
如果没有上面提到的SCRYPT论文的表格,任何比较都是不完整的:
PBKDF2-HMAC-SHA256使用的迭代计数有86,000和4,300,000。
其他提示
评论(回复:标题):
- 除非必须,否则不要使用加密(可逆)存储密码。
- 由于您提出了一个替代方案(不可逆的)选项,因此我认为您不需要可逆性。
关于使用PBKDF2 vs bcrypt以及我是否应该实施更改的意见?
我的意见:
在bcrypt上使用PBKDF2。 (我对Sha比Blofish更有信心,无缘无故)
至于您是否应该“实施更改”,我不知道您在问什么。
编辑以更清楚地将加密/哈希讨论与说明我的R/T算法的偏好。
不隶属于 StackOverflow