什么是生成md5哈希的sprecific groupes字符串的彩虹表的最佳方法

时间:2018-06-17 13:34:36

标签: cryptography md5 hardware

我需要一张彩虹表,其中包含所有实数(具有固定位数)的md5哈希值,从1.0000000000000000到99.9999999999999999和100.0000000000000000(10 ^ 18哈希)。怎么做?是否有任何具有此功能的应用程序或最好的方法是在C + asm中编写自己的应用程序?那么如何存储这些数据:普通文件还是数据库?它需要多长时间?

1 个答案:

答案 0 :(得分:0)

我担心你没有解决方案。

一个md5哈希需要16个字节的存储空间。对于10 ^ 18个哈希,您需要16 x 10 ^ 18 = 1.6 x 10 ^ 19字节= 16 000 000太字节存储。大型供应商的1 TB成本约为10美元/月。总计将花费1.6亿美元/月。

现在计算生成10 ^ 18个哈希值所需的时间。假设您拥有出色的硬件,每秒产生10 ^ 9个哈希值。然后你需要大约10 000天来计算所有哈希值。如果你能负担得起300个这样的CPU,你可以在一个月内得到你的桌子。然后只需支付160 000 000美元的存款费用。