Generates all possible permutations of a given charset.
Developed by Alex Pellegrini.
Code and performance optimisation by Daniele Bonadiman.
Continuous integration status:
Pypi status:
$ pip install wordlist
There are two ways to use wordlist (command line, python)
Generate all the possible words with a given charset:
$ wordlist [charset]
Generate all the possible words with length within a given interval (e.g. from 2 to 5):
$ wordlist [charset] -m 2 -M 5
Generate following a given pattern:
$ wordlist [charset] @@q@@er@t@y
Save a list to file:
$ wordlist [charset] -o list.txt
or:
$ wordlist [charset] > list.txt
Generate all the possible words with length within a given interval (e.g. from 2 to 5):
import wordlist
generator = wordlist.Generator('charset')
for each in generator.generate(2, 5):
print(each)
Generate following a given pattern:
import wordlist
generator = wordlist.Generator('charset')
for each in generator.generate_with_pattern('@@q@@er@t@y'):
print(each)
There are to ways to pass the charset to the script:
-
A simple list of characters
$ wordlist abcxyz987
-
A list of ranges following the simple regex
(\w-\w)
$ wordlist a-z0-9A-Z
The pattern should be like:
@@q@er@t@y
The script will replace every {}
symbol with every letter in the charset so as to get every possible
permutation. Every other symbol will be a fixed character present in every string. In this example, every generated string will contain a q
at the 3rd position an e
at the 6th and so on.
$ git clone https://github.com/rexos/wordlist.git
$ cd wordlist
$ pip install -r requirements.txt
$ nosetests
And open a pull request!