def gen_passwords(wordset, minlen, maxlen, permute, skip):
combinations, skip = drop_combinations(skip, wordset, permute)
variations = []
for combination in combinations:
if (len(''.join(combination)) < minlen
or len(''.join(combination)) > maxlen):
continue
if permute:
permutations, skip = drop_permutations(skip, combination)
for permutation in permutations:
variations = chain(variations, leet_word(''.join(permutation)))
else:
variations = chain(variations, leet_word(''.join(combination)))
try:
drop(skip, variations)
except AttributeError:
return
yield from variations
评论列表
文章目录