python计算给定字符的所有可能组合

时间:2015-07-17 13:56:09

标签: python passwords wifi combinations wpa

我正在尝试制作一个程序来计算ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890给定字符的所有可能组合......但仅限于8个点,如AAAAAAAA,AAAAAAAa,AAAAAAaa ......

像这样的开始

for x in xrange(999999999):

print ''.join(['ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'[j]

[(i // d)%36,d in(63,54,45,36,27,9,3,1)]]中的j

我认为我的工作在上面 谢谢你的帮助

3 个答案:

答案 0 :(得分:3)

这可能需要一段时间才能运行,因为有很多可能的排列。所以事先才知道。我的解决方案:

from itertools import permutations

options = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890'
possibilities = [w for w in permutations(options, 8)]

这将列出存储在可能性变量中的所有可能密码。

答案 1 :(得分:2)

mystring = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890'
from itertools import product
combos = [''.join(i) for i in product(mystring, repeat = 8)]
type(combos)

返回组合列表。

答案 2 :(得分:0)

我的小生成器算法:

def combinator(karakterler, uzunluk):
    l = len(karakterler)
    for i in range(l ** uzunluk):
        s = ""
        for j in range(uzunluk):
            i, index = divmod(i,l)
            s += karakterler[index]
        yield s

for i in combinator("abc",3): print(i)