Bcrypt如何比md5 +盐更好?

时间:2016-01-15 14:39:36

标签: php hash joomla md5 bcrypt

请阅读更新,因为我的实际混淆"在那里。

自从Joomla以来,它一直很安静!开始支持bcrypt散列算法,以及自Joomla以来一直是事实的md5 + salt! 1.5。

现在我的问题是"作为最终用户,如果我立即开始使用Bcrypt,我将获得哪些好处,与当前算法相比较。 MD5 + salt?对于每天有几百名访问者的普通博客,它是否会产生任何影响?"

更新: -

此外,我在某处读到由于md5散列的速度,我的密码可以在几天内/几个月内轻松计算。

但是这不需要我的哈希已经与攻击者进行比较吗? 如果他/她首先没有哈希,那么我使用的哈希算法如何影响我的网站安全性呢?最终他最终还是不得不向我的登录页面强行使用?

如果它被强制通过,那么Bcrypt是否同样容易受到密码猜测的攻击?

注意:为什么是downvotes,这是最终用户的逻辑问题。 :(

3 个答案:

答案 0 :(得分:5)

据我了解,Bcrypt更安全。它变得更慢,这使得攻击者更难以强制密码。它可以被配置为越来越多地迭代,这是有用的,因为CPU变得越来越强大。

这是具有可配置缓慢性的要点:您可以根据需要使功能变慢。或者,更准确地说,你可以忍受的速度慢:事实上,对于每个人,攻击者和防守者来说,缓慢的功能都很慢。

这些链接可能会有所帮助:

https://security.stackexchange.com/questions/61385/the-brute-force-resistence-of-bcrypt-versus-md5-for-password-hashing

https://www.bentasker.co.uk/blog/security/201-why-you-should-be-asking-how-your-passwords-are-stored

What's the difference between bcrypt and hashing multiple times?

https://www.quora.com/What-is-the-difference-between-bcrypt-and-general-hashing-functions-like-MD5

https://security.stackexchange.com/questions/4781/do-any-security-experts-recommend-bcrypt-for-password-storage/6415#6415

答案 1 :(得分:3)

  

但是这不需要我的哈希已经与攻击者进行比较吗?如果他/她首先没有哈希,那么我使用的哈希算法如何影响我的网站安全性呢?最终他最终还是不得不向我的登录页面强行使用?

首先,没有。许多站点允许没有速率限制的登录尝试。使用MD5,假设服务器可以处理它,用户可以通过快速连续尝试大量密码来快速尝试强制密码。 bcrypt的缓慢保证这样的尝试会慢很多。

其次,计算中的一个关键安全概念是defense in depth。您不希望只有一个级别的安全性 - 很容易意外地编写可能让攻击者转储密码哈希值的SQL注入漏洞。通过使用bcrypt,您限制此类漏洞可能导致的损害

答案 2 :(得分:1)

除“盐”外,BCrypt还接受“ cost ”自变量-这是它的主要功能。成本是您要应用于哈希的计算工作量。可以将其视为将结果重新哈希2 ^ n次,其中 n 是代价。

散列的字符串将类似于cost;hashed_string(例如20;5D4140)。当然,这不是真正的格式,而是过分简化以显示该想法。

此“成本”概念使BCrypt具有“抗老化性”。如果在10年内计算能力增加了1000倍,您只需要使用更高的“ n” 来重新哈希散列(无需使用原始值来增加成本)。