Python生成所有可能的长度为n的字符串[重复]
问题内容:
这个问题已经在这里有了答案 :
生成所有可能的三个字母字符串的最佳方法是什么? (7个答案)
3年前关闭。
我正在学习道德黑客。我有密码的哈希键和crypt算法(sha256 /
sha512)。我想解析文件中的所有字符串,并检查密码的哈希是否与文件中每个字符串的哈希匹配。
生成的字符串可能包含小写字母,大写字母和数字。
有什么想法如何生成所有可能的长度为n的字符串,其中可能包含字母和数字?
问题答案:
这是使用[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)