来自this page it appears you can do 5 billion hashes per second。这是否意味着引起碰撞并不困难?如果我想创建一个具有特定MD5或SHA1的文件需要多长时间?
根据我的数学(使用2 ^ 160)它仍然需要很长时间但是从我听到的不是2 ^ 160来暴力破解160比特sha1哈希
答案 0 :(得分:1)
如果每秒50亿次哈希是真的,那就意味着你可以大致 45 211 226 851 851 851 851 852年创建/“反转”哈希 (所以你会更好在你还年轻的时候开始)。
结论:你需要3万亿台计算机,从大爆炸开始 - 今天你将拥有你的MD5哈希。
在加密方面,暴力强迫从不答案。一旦它,它只是意味着加密算法不够强,即没有足够的位。这发生在DES,它有一个56位密钥 - 而这还不够。
另外,请注意,256位不是“128位的两倍”! 256位实际上是128位的2 ^ 128倍。
2^256 / 2^128 = 2^128
因此,随着暴力强迫,你永远不会去任何地方!无论你有多少台电脑。剩下的唯一选择是通过数学攻击算法。
世界各地的加密分析师和数学家都对此进行了研究。
他们设法通过破解算法在合理的时间内创建了MD5冲突。不要问我他们是如何做到这一点的,但这是一个例子:
d131dd02c5e6eec4 693d9a0698aff95c 2fcab58712467eab 4004583eb8fb7f89 55ad340609f4b302 83e488832571415a 085125e8f7cdc99f d91dbdf280373c5b d8823e3156348f5b ae6dacd436c919c6 dd53e2b487da03fd 02396306d248cda0 e99f33420f577ee8 ce54b67080a80d1e c69821bcb6a88393 96f9652b6ff72a70
与
具有相同的MD5d131dd02c5e6eec4 693d9a0698aff95c 2fcab50712467eab 4004583eb8fb7f89 55ad340609f4b302 83e4888325f1415a 085125e8f7cdc99f d91dbd7280373c5b d8823e3156348f5b ae6dacd436c919c6 dd53e23487da03fd 02396306d248cda0 e99f33420f577ee8 ce54b67080280d1e c69821bcb6a88393 96f965ab6ff72a70
所以你不能反转哈希,但有像md5cracker这样的彩虹表。他们有一个巨大的字符串数据库(通常是密码)和它们的哈希值。因此,如果您使用简单的密码,则可以在那里查找哈希值。
尝试查找此哈希:
5a8dd3ad0756a93ded72b823b19dd877
因此,如果您将密码的MD5存储在数据库中,那么向它添加一个盐是一个聪明的主意。例如,代替md5(password)
存储md5("salt1234" + password)
。或者,更好的是,您为每个用户使用不同的盐,因此任何人都无法看到哪些用户共享相同的密码。
结论:请注意,即使你无法反转哈希,你仍然可以查找一个哈希,这对于像上面这样的无盐哈希很容易。
黑客电影及其行为通常依赖于暴力破解。但这根本不是事实!