10
密码盐如何帮助抵抗彩虹表攻击?
我在理解对密码加盐的目的时遇到了一些麻烦。据我了解,主要用途是阻止彩虹表攻击。但是,我见过的实现此问题的方法似乎并没有真正使问题变得更难。 我看过许多教程建议将盐用于以下用途: $hash = md5($salt.$password) 原因是哈希现在不映射到原始密码,而是密码和盐的组合。但是说$salt=foo和$password=bar和$hash=3858f62230ac3c915f300c664312c63f。现在,拥有彩虹表的人可以反转哈希并提出输入“ foobar”。然后,他们可以尝试所有密码组合(f,fo,foo,... oobar,obar,bar,ar,ar)。可能需要花费几毫秒的时间才能获取密码,但除此之外没有多少其他信息。 我见过的另一种用法是在我的linux系统上。在/ etc / shadow中,哈希密码实际上与 salt 存储在一起。例如,盐“ foo”和密码“ bar”将散列为此:$1$foo$te5SBM.7C25fFDu6bIRbX1。如果黑客以某种方式能够获得此文件,那么我就看不到salt的用途是什么,因为te5SBM.7C25fFDu6bIRbX已知的反向哈希包含“ foo”。 感谢您提供的任何信息。 编辑:感谢您的帮助。总而言之,盐使散列密码变得更加复杂,因此使其不太可能存在于预先计算的彩虹表中。我之前误解的是我以为所有哈希都存在一个彩虹表。