密码保护 - 登录时的bcrypt与强制延迟?

时间:2012-04-19 08:05:36

标签: security bcrypt

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

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

1 个答案:

答案 0 :(得分:2)

bcrypt 登录时强制延迟可防止两种不同的攻击。<​​/ p>

强制登录延迟可以防止在线攻击,攻击者使用您的登录页面尝试使用不同的密码。

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