gpt4 book ai didi

python - 制作所有可能的 6 位数字和字母组合

转载 作者:太空宇宙 更新时间:2023-11-04 03:36:35 25 4
gpt4 key购买 nike

我正在尝试对我拥有的一个哈希 key 进行暴力破解, key 是 28 位,我必须找到 6 位密码,包括 0-9 和 a-z,每个位置总共有 36 种可能性。

我正在使用带有 16gb ram 的 macbook,但是当我运行以下代码时,它需要永远并最终终止使用过多内存的进程我想知道的是如何克服它,其次是否有可能而不是等待整个循环完成,然后迭代 abc 以获得所有组合,然后将它们传递给 SHA1 哈希函数,我可以在生成组合时将它们传递给哈希函数

abc = [''.join(i) for i in itertools.product("0123456789abcdefghijklmnopqrstuvwxyz",repeat=6)]

最佳答案

您可以遍历 itertools.product() 返回的对象,就像您实际上已经在处理列表理解一样,如下所示:

import itertools, string
for i in itertools.product(string.ascii_lowercase+string.digits,repeat=6):
if check_hash("".join(i)):
print i
break

这只会将当前的存储在内存中。

有 (26+10)^6 = 2176782336 种可能,所以可能还需要一段时间。每个占用 6 个字节,您的原始解决方案使用 13060694016 个字节,或略多于 12 GB。

我也在使用 Python 2 的 string constants而不是键入字母和数字。

关于python - 制作所有可能的 6 位数字和字母组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28790015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com