2

我知道对象 refguess 变成 95^n 个字符长,这就是存储在内存中的内容。是否可以一次将一个元素加载并迭代到内存中,在加载新元素之前将其擦除?最终,我想将它移植到 GPU 上运行,以利用着色器核心的卓越数字处理能力,因此较小的 RAM 占用空间将是最佳选择。

import itertools
import string

i = 1
refguess = ''
password = ' ~}}'
charlist = list(string.printable)
charlist = charlist[1:95]

while refguess != password:
    i += 1
    for idx, val in enumerate(list(itertools.product(charlist,repeat=i))):
        refguess = ''.join(map(str,val))
        if refguess == password:
            print('Password is ' + '(' + refguess + ')')
            break
4

1 回答 1

0

正如 Mark Ransom 所发布的,答案是我在不需要的时候列出了一份清单。

谢谢!

于 2012-10-02T22:16:58.517 回答