【发布时间】:2019-07-18 18:55:28
【问题描述】:
我正在尝试了解彩虹表的工作原理,并尝试在 python 中实现一个,但没有取得多大成功。
我有一些代码本质上是在文本文件中创建一个字典,其中明文字符串映射到它们的哈希值,但不知道如何调整它以生成简化的彩虹表。
temp = itertools.product("abcdefghijklmnopqrstuvwxyz", repeat=5)
f = open("passwords.txt", "w")
for pw in temp:
p = ''.join(pw)
encode = hashlib.md5(p.encode()).hexdigest()
f.write(p + " " + encode + "\n")
f.close()
我遇到了归约函数并且有点理解它们,因此将其定义为:
def reduction(hash):
return hash[:5]
但我不知道从这里做什么:(
如何调整此代码以生成缩小的彩虹表?
【问题讨论】:
-
直接下载怎么样?
-
@OlvinRoght 我试图找到符合我特定键空间的彩虹表,但它们都大得多,文件大小也非常大
-
您的磁盘空间有限还是有什么问题?
-
@OlvinRoght 不,它只是网上的大小是很多 GB,它们涵盖的键空间与这个案例无关
-
@Adi219 我认为这个问题更适合您为什么要实现缩减功能。你现在拥有的是一个有效的彩虹表,它只是没有减少。
标签: python hash rainbowtable