sha512哈希是否有可能以64个零开始?

时间:2013-04-18 23:17:55

标签: python hash cryptography sha512

我只是考虑在哈希中重复的数字,我想知道sha512哈希的一半是否有可能由64个连续的零组成。

2 个答案:

答案 0 :(得分:2)

正如克里斯所说 - 你应该有同样的机会获得任何其他哈希的哈希。所以概率是1/2 ^ 64。

如果你想找到这样的哈希,你可以希望有人找到它并将其放入rainbow tables。我试图找到这样的哈希here,但失败了:)

你也可以尝试自己的。我尝试过这样一个天真的剧本:

import random
import string
import hashlib
import datetime
s=string.lowercase+string.digits
random.seed(datetime.datetime.utcnow())

while 1:
    x = ''.join([random.choice(s) for a in range(random.randint(2,1024))])
    if hashlib.sha512(x).hexdigest().startswith('0000000000000000'):
        print x
        exit()

但后来我发现我的机会仍然很低。所以..算法所需的迭代次数是2 ^ 64。我的机器在

中进行了100000次迭代
real    1m7.762s
user    1m5.908s
sys     0m0.123s

迭代时间为0.0006776秒。

总结一下 - 如果没有优化,我的机器上的结果大约需要396357000

好吧,祝你好运!

答案 1 :(得分:1)

它与任何其他哈希值一样可能,或者应该是。