我目前正在创建一个程序,它创建一个随机的15位字符串,并找到该字符串的SHA-1等价物
当我转换SHA-1字符串并将其缩短到前15位时,我希望在字典中找到任何重复的实例。如果有,它会告诉我它被分配到的随机字符串
你可以想象这需要很长时间。我知道有更有效的方法来实现这一点,比如二进制搜索、Pollard-Rho技术或循环查找,但我在用Python实现这一点时遇到了困难
这就是我目前所拥有的(Python):
for i in range (n):
t=''.join([random.choice(alpha) for _ in range(15)])
t=t.encode('utf-8')
h=hashlib.sha1(t)
h=(h.hexdigest()[0:15])
if h in hashDict:
print ("Duplicate found")
sha1val=hashlib.sha1(hashDict[h])
sha2val=hashlib.sha1(t)
print (hashDict[h],":",sha1val.hexdigest())
print (t,":",sha2val.hexdigest())
break
hashDict[h]=t
目前没有回答
相关问题 更多 >
编程相关推荐