创建wordlist而不重新排列charset中的字符

时间:2016-04-23 16:28:36

标签: dictionary passwords brute-force

我正在尝试根据' welsh'

创建一个单词列表

目前使用此python脚本:

import itertools
res = itertools.permutations('wWeElLsShH', 5)
for i in res:
print ''.join(i)

这是成功打印出可能的单词列表但是无论如何都要改变这些代码,以便不重新排列字符。仅导致正在打印的单词的大写和小写版本的不同组合。

所以现在我得到了:

wWeEl wWeEL wWeEs

等...

但我希望

威尔士 威尔士语 威尔士语 威尔士语 威尔士语 威尔士

等...

我也使用过紧缩但是再打印出更多必要的角色。

1 个答案:

答案 0 :(得分:0)

from itertools import *
for funcs in product((str.lower, str.upper), repeat=5):
    print ''.join(func(letter) for func, letter in zip(funcs, 'welsh'))

输出:

welsh
welsH
welSh
welSH
weLsh
weLsH
weLSh
weLSH
wElsh
wElsH
wElSh
wElSH
wELsh
wELsH
wELSh
wELSH
Welsh
WelsH
WelSh
WelSH
WeLsh
WeLsH
WeLSh
WeLSH
WElsh
WElsH
WElSh
WElSH
WELsh
WELsH
WELSh
WELSH