如何用Python实现暴力暂停/恢复?

时间:2014-09-23 14:54:11

标签: python itertools

我发现以下代码用于暴力破解 -

import itertools

def bruteforce(charset, length):
    return (''.join(candidate)
        for candidate in itertools.chain.from_iterable(itertools.product(charset, repeat=i)
        for i in range(length, length + 1)))

for attempt in bruteforce('ab', 10):
    # do something

但我想让它更聪明 - 能够暂停并从特定的尝试开始。

我正在阅读类似的问题和答案 - Using itertools.product and want to seed a value - 但无法理解如何将make_product用于我的案例。

1 个答案:

答案 0 :(得分:0)

我发现实现它的最简单方法是使用数字然后将它们转换为基于36的数字系统。例如,806031402130等于aaaaaaaa,229927546474等于2xmkxaay。因此,通过保持数值很容易保持状态。