Dictionnaire force brute python
Comment générer un dictionnaire de force brute pour les caractères ascii et les nombres, c'est-à-dire, toutes les combinaisons possible des caractères [a-zA-Z0-9] pour 3 valeurs ?
Encore plus précisément, on souhaite:
'a', 'a', 'a'
'a', 'a', 'b'
'a', 'a', 'c'
...
'b', 'a', 'a'
'b', 'a', 'b'
...
'9', '9', '5'
'9', '9', '6'
'9', '9', '7'
'9', '9', '8'
'9', '9', '9'
Hé bien, python propose des iterator tools qui font ça très bien et très vite!
import itertools, sys, os
from string import ascii_letters
numbers = [str(c) for c in range(10)]
alphabet_and_numbers = [car for car in ascii_letters] + numbers
dictionary = itertools.product(alphabet_and_numbers, repeat=3)
# Si on souhaite l'afficher à des fins de compréhension
for item in dictionary:
print item
Quand on dit que python c'est puissant...
Links
Tags: python brutforce dictionary