Author Topic: 什么是 bcrypt 以及它是如何工作的?  (Read 226 times)

0 Members and 1 Guest are viewing this topic.

Offline Shapan

  • Newbie
  • *
  • Posts: 1
  • Karma: +0/-0
    • View Profile

[size=78%]bcrypt 创建于 1999 年,以Blowfish 密码算法为基础。它使用单向哈希函数将用户密码转换为固定长度的字符串,这意味着该密码无法改回原始密码。每当用户登录时,bcrypt 都会重新计算密码的哈希值,并将其与系统内存中存储的值进行比较,以验证密码是否匹配。如果纯文本密码较短,则此过程可以将其扩展为更长、更复杂的密码。[/size]


为了提高安全性,bcrypt 还会在每个密码哈希值中添加一段随机数据,以确保其唯一性,使其难以通过字典攻击或暴力破解进行猜测。这被称为加盐,其结果是在密码哈希值前添加一个 22 个字符的字符串,使密码更难通过暴力破解进行猜测。加盐可以提高安全性,使密码更能抵御暴力破解和字典攻击。


bcrypt 还使用了“成本因子”,这使得它与其他哈希算法不同。它显示在生成哈希值之前进行了多少次密码迭代,并添加到盐值之前。有了它,您可以确定需要执行的密码迭代次数和哈希计算轮次,从而增加计算最终哈希值所需的时间、精力和计算资源。这极大地减慢了破解速度。


密码字符串、盐值和成本因子通过算法组合,使用 Base 64 编码生成一个 24 字节的哈希值。让我们看看如何破解它。


破解 bcrypt 哈希密码所需的时间
生成 bcrypt 哈希值需要时间,破解也同样需要时间。威胁行为者可 阿尔巴尼亚电话号码收集 [/size][size=78%]能会放弃,缺乏计算能力,或者这可能会给安全团队带来发现可疑活动所需的时间。即使计算机速度更快,由于 bcrypt 密码迭代次数不定,通过暴力破解 bcrypt 也非常耗时。[/size]


将其与流行的哈希算法(例如 MD5 和 SHA256)进行比较,这些算法旨在快速进行哈希运算。它们更适合频繁使用且注重速度的应用程序,而 bcrypt 则是安全存储密码的更好选择。如果迭代次数如此之高,以至于一次 bcrypt 调用的成本与数百万次 MD5 计算的成本相当,那么使用 bcrypt 暴力破解密码的成本将是 MD5 的数百万倍。


如下表所示,bcrypt 的成本因素使其由于其缓慢的哈希算法而极其安全,能够抵御暴力攻击。简短、不复杂的密码仍然可以相对较快地被破解,这凸显了允许用户创建弱密码(但非常常见)的巨大风险,例如“password”、“123456”和“admin”。但是,一旦密码长度超过八个字符,破解速度对黑客来说几乎是不可能的。

1,000 Leads Daily - 3 Day Risk Free Trial

Business Opportunity Leads!


 

P.S. Do you want to see how we made $14,178.00 Dollars Last Month?

Click Here For All The Info!

Free Advertising Forum Post Ads Online