双哈希与加盐结合起来是一种有效的密码存储技术吗?

时间:2018-10-19 13:27:56

标签: database security passwords

我正在尝试按照以下步骤存储密码:

  1. 散列密码,
  2. 再次将哈希密码的后四个字符添加到哈希密码中
  3. 在步骤2的结果中加盐
  4. 散列第3步的结果

骇客真的有什么方法可以继续破解吗?

2 个答案:

答案 0 :(得分:1)

  

骇客真的有什么方法可以继续破解吗?

定义hack?蛮力方法将始终适用于有权访问您的系统的人。如果某人的密码为1234,则加盐和哈希处理不会使该密码更强。但是,如果您担心要从哈希值中反转密码并以明文形式存储密码(您应该是并且似乎是问题的出处),那么是的,您使用的是盐和哈希

  

将双重哈希与加盐结合起来可以有效地存储密码   技术?

这里使用的哈希函数很重要。首先,您需要一个collision resistant来确保两个不同的值具有相同散列的可能性很高。您没有说明正在使用什么功能(MD5,SHA1,SHA256等)

这里实际上不需要步骤2,但是肯定会增加复杂性。第4步也是如此。我倾向于更复杂的具有SHA2或SHA3之类的功能,而不是重新哈希以加快处理速度。

答案 1 :(得分:1)

只要攻击者不知道您的发明,这就是“ 默默无闻的安全性”,只要知道算法,暴力破解就和简单腌制一样容易SHA- *。问题是,人们可以尝试使用常见的硬件和破解器工具3 Giga SHA-256 hashes per second,甚至允许开箱即用地使用某些双重哈希模式。

您需要的是密码散列函数,例如BCrypt,SCrypt,PBKDF2或Argon2,它们具有成本因素来控制单个计算所需的时间。此外,您还可以轻松地将盐包含在生成的哈希字符串中,因此不必分别创建和存储盐。