我一直在阅读有关Gawker事件的信息,并且有关仅使用的几篇文章 bcrypt 要进行哈希密码,我想确保我的哈希机制足够安全,以免切换到另一种方法。在我当前的应用程序中,我选择了 PBKDF2 实施使用SHA2-512和至少1000次迭代。

我可以就使用pbkdf2 vs bcrypt提出意见,以及我是否应该实施更改?

有帮助吗?

解决方案

您对PBKDF2的效果很好,无需跳到bcrypt。

虽然,建议使用1000次迭代的建议是在2000年进行的,但现在您想要更多。

另外,使用bcrypt时,您应该更加注意:

还值得注意的是,尽管对于大多数类型的密码,BCRypt比PBKDF2强,但它却落后于长密码。这是由于BCrypt无法使用超过55个密码的55个字符,而我们的估计成本和NIST则产生了更多。媒介物熵的估计表明,BCRYPT的55个字符限制目前不太可能引起问题,依靠BCRypt的系统的实施者可能会得到很好的建议,可以遵守这种限制(例如,通过“预击手”来“预击”密码,以使密码适用于该限制。使其符合55个字符的限制)或采取措施防止用户在第56个和随后的字符中放置过多的密码熵(例如,通过要求网站的用户将其密码键入仅具有空间的输入框中对于55个字符)。

从Scrypt纸[PDF

也就是说,还有 Scrypt.

如果没有上面提到的SCRYPT论文的表格,任何比较都是不完整的:

Estimated cost of hardware to crack a password in 1 year.

PBKDF2-HMAC-SHA256使用的迭代计数有86,000和4,300,000。

其他提示

评论(回复:标题):

  • 除非必须,否则不要使用加密(可逆)存储密码。
  • 由于您提出了一个替代方案(不可逆的)选项,因此我认为您不需要可逆性。

关于使用PBKDF2 vs bcrypt以及我是否应该实施更改的意见?

我的意见:

在bcrypt上使用PBKDF2。 (我对Sha比Blofish更有信心,无缘无故)

至于您是否应该“实施更改”,我不知道您在问什么。

编辑以更清楚地将加密/哈希讨论与说明我的R/T算法的偏好。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top