co.de.mon.key

Weblog

Python bruteforce password generator

| Comments

Generating char combinations is extremely easy with Python’s itertools.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import string
import itertools

def dict_gen_up_to_len(n):
    chars = string.ascii_letters + string.digits + '!@#$%^&*()'
    return itertools.chain(''.join(j) for i in range(n) for j in itertools.product(chars, repeat=i+1))

def dict_gen_exact_len(n):
    chars = string.ascii_letters + string.digits + '!@#$%^&*()'
    return itertools.chain(''.join(j) for j in itertools.product(chars, repeat=n))

n = 8

for word in dict_gen_exact_len(n):
    print (word)

# aaaaaaaa
# aaaaaaab
# aaaaaaac
# ...
# ))))))))

for word in dict_gen_up_to_len(n):
    print (word)

# a
# b
# c
# ...
# aa
# ab

Comments