Questions tagged «rainbowtable»

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”。 感谢您提供的任何信息。 编辑:感谢您的帮助。总而言之,盐使散列密码变得更加复杂,因此使其不太可能存在于预先计算的彩虹表中。我之前误解的是我以为所有哈希都存在一个彩虹表。

6
盐生成和开源软件
据我了解,生成盐的最佳实践是使用一些存储在源代码中的神秘公式(甚至魔术常数)。 我正在开发一个计划以开源形式发布的项目,但是问题在于,该来源附带了生成盐的秘密公式,因此可以在我们的网站上进行彩虹表攻击。 我认为很多人在我之前已经考虑了这个问题,我想知道最佳实践是什么。在我看来,如果代码是开源的,就根本没有必要添加盐,因为可以很容易地对盐进行逆向工程。 有什么想法吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.