小编典典

Python生成所有可能的长度为n的字符串

python

我正在学习道德黑客。我有密码的哈希键和crypt算法(sha256 /
sha512)。我想解析文件中的所有字符串,并检查密码的哈希是否与文件中每个字符串的哈希匹配。

生成的字符串可能包含小写字母,大写字母和数字。

有什么想法如何生成所有可能的长度为n的字符串,其中可能包含字母和数字?


阅读 213

收藏
2021-01-20

共1个答案

小编典典

这是使用[Python 3.Docs] ****
__
的一段代码
:itertools。

产品

*
iterables,重复=
1


请注意,生成的字符串数为62 ** length,因此出于测试目的,请为 length 使用 较小的值 : __

import string
import itertools


def generate_strings(length=3):
    chars = string.ascii_letters + string.digits  # "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
    for item in itertools.product(chars, repeat=length):
        yield "".join(item)
2021-01-20