1

我一直在做很多关于在数据库中安全存储密码的研究,bcrypt似乎作为最安全的哈希算法之一到处出现,所以我可能会用它来存储我网站的密码(用 PHP 编写)。它的主要卖点之一似乎是它非常慢,因此有助于减缓蛮力/字典攻击。从字面上看,我读过的每一篇文章都提到了 bcrypt 有多棒,因为它很慢,因此可以防止暴力攻击。

所以,我的问题是:我不能在使用 PHP 登录失败后手动让我的代码暂停一两秒钟sleep()吗?为什么 bcrypt 很慢如此重要?我的印象是我可以使用任何加密算法(假设它和 bcrypt 一样加密),在登录失败时添加 PHP sleep(),并且对暴力/字典攻击的防御能力与bcrypt。

4

1 回答 1

3

bcrypt强制登录延迟可防止两种不同的攻击。

强制登录延迟增加了对在线攻击的保护,攻击者使用您的登录页面尝试不同的密码。

bcrypt增加了针对离线攻击的保护,攻击者可以访问您的密码哈希,并且可以在不使用登录页面的情况下尝试哈希。

于 2012-04-19T08:14:52.000 回答