我一直在做很多关于在数据库中安全存储密码的研究,bcrypt似乎作为最安全的哈希算法之一到处出现,所以我可能会用它来存储我网站的密码(用 PHP 编写)。它的主要卖点之一似乎是它非常慢,因此有助于减缓蛮力/字典攻击。从字面上看,我读过的每一篇文章都提到了 bcrypt 有多棒,因为它很慢,因此可以防止暴力攻击。
所以,我的问题是:我不能在使用 PHP 登录失败后手动让我的代码暂停一两秒钟sleep()
吗?为什么 bcrypt 很慢如此重要?我的印象是我可以使用任何加密算法(假设它和 bcrypt 一样加密),在登录失败时添加 PHP sleep(),并且对暴力/字典攻击的防御能力与bcrypt。