如果我们知道哈希中的盐,那么是否有可能破解从哈希中提取密码?如果是,如何?
是否可以用已知的盐破解哈希?如果是怎么办?
信息安全
哈希
盐
密码破解
2021-08-13 19:49:51
3个回答
散列函数被设计为只有一种方式。如果您有密码,您可以轻松地将其转换为哈希,但如果您有哈希,恢复原始密码的唯一方法是暴力破解,尝试所有可能的密码以找到一个会生成您的哈希的密码有。假设盐很长,不知道盐几乎不可能破解(由于盐增加了密码的额外长度),但即使你知道盐,你仍然需要蛮力。
例如,假设密码是“secret”,salt 是“535743”。如果盐只是简单地附加到密码的末尾,那么您要破解的哈希将是字符串“secret535743”的哈希。在不知道哈希的情况下,您必须尝试所有可能性,直到达到“secret535743”,由于它的长度,这将需要相当长的时间(请记住,真正的盐比这长得多)。
但是如果你知道盐是 535743 并且它被附加到密码的末尾,那么你可以尝试“a535743”、“b535743”、“c535743”等,而不是尝试一切。这大大减少了数字在找到正确的字符串之前,您必须尝试多种可能性。
话虽如此,通常很少会出现您知道哈希但不知道盐的情况,因为两者通常都存储在同一个地方。
如果您知道在散列明文短语时如何使用盐,这只会使暴力破解变得更容易。您必须检查的可能性数量将大大减少,因为您只需检查没有加盐的短语。不过,如果它是一个包含许多不同字符的长短语,那将需要很多时间。
如果密码没有加盐,例如使用函数 md5,那么潜在的黑客可以访问在线数据库,并在那里查找正确的密码。
当密码被加盐时,必须暴力破解它,这是非常耗时的。如果攻击者不知道盐,那么实际上根本不可能破解它。
其它你可能感兴趣的问题