Yegers - 1 year ago 199
Python Question

# brute force script in python 3.2

I'm a very beginner in writing codes and I've started with python because it seemed the neatest and the easiest to start with (I currently have python 3.2).
Now I've read some online books and so on about coding in python, I've made some small programs and thats it.

But then I wanted to make a program that could brute-force a random password like:

``````PassWord = random.randint(0,9999)
``````

``````import random
Trial = ' '
Trial = str(random.randint(0,9999))
print(Trial)
input()
``````

But that's not really a brute-force attack, it's more trying to randomly guess a password. I think a Brute-Force attack is first try's all possibility's with 1 digit then 2, 3 and so on. Be I have no clue and knowledge how to do this (I'm a total beginner).

I would really appreciate if someone would say how to create a program that first checks all possebillity's with 1 digit and if possible, in the right order (0,1,2,3 and so on), then 2,3 and 4 digits.

Code first:

``````from itertools import product

chars = '0123456789' # chars to look for

for length in range(1, 3): # only do lengths of 1 + 2
to_attempt = product(chars, repeat=length)
for attempt in to_attempt:
print(''.join(attempt))
``````

`itertools.product` produces a Cartesian join of its input(s) - in this case, it's being 'joined' to itself. So in the first iteration, each single character is printed. Then in the next iteration, because of `repeat=length` (and `length` is now == 2), generates '00', '01', etc... It's worth trying it and seeing the output to understand it better.

This also means you can throw in letters (uppercase/lowercase), and change the upperbound in the `range` function.

It's certainly not going to break the world of code-breaking, but should give you an idea of the flexibility of Python and the tools available to you.

I'll leave you to check the passwords match and break out the loop.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download