Tag: 字典攻击

为什么盐会使字典攻击“不可能”?

可能重复: 需要一些帮助了解密码盐 更新:请注意,我不是问什么盐,什么彩虹桌,字典攻击是什么,或盐的目的是什么。 我在查询:如果你知道用户salt和hash,计算他们的密码不是很容易吗? 我理解这个过程,并在我的一些项目中自己实现。 s = random salt storedPassword = sha1(password + s) 在你存储的数据库中: username | hashed_password | salt 每一次我见过的盐都会在密码的末尾添加salt,或者开始: hashed_Password = sha1(s + password ) hashed_Password = sha1(password + s) 因此,一个值得他的盐的黑客的字典攻击(哈哈)将简单地运行每个关键字对存储的盐在上面列出的常见组合。 上面描述的实现只是为黑客添加了另一个步骤,而没有真正解决潜在的问题? 有什么替代方法来解决这个问题,或者我误解了这个问题? 我唯一能想到的就是有一个秘密的混合algorithm,它将salt和password绑定在一起,或者将其他用户字段添加到散列过程中,这意味着黑客必须有权访问数据库,他们的字典攻击certificate富有成效。 (更新,正如在评论中指出的那样,最好假定黑客可以访问你的所有信息,所以这可能不是最好的)。 让我举一个例子,说明我build议黑客会用密码和哈希列表破解用户数据库: 我们被黑客窃取的数据 RawPassword (not stored) | Hashed | Salt ——————————————————– letmein WEFLS… WEFOJFOFO… 常用密码字典: Common Password ————– letmein […]