-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathREADME.txt
59 lines (50 loc) · 3.03 KB
/
README.txt
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
Simple readable random password generator in one Python file
This is a random password generator based on the most common
combinations of vowels and consonants in the English language. It
makes passwords that are simple to read and remember, but safe from
dictionary attacks. You can use this module in your program like this:
>>> from english_passwords import generate_password
>>> generate_password()
'cheedorth'
>>> generate_password(digits=2)
'gnorious23'
Known problems:
1. The algorithm may generate words that appear in an English dictionary.
2. The algorithm may generate profanities. To work around these problems,
check the output against a word list and try again if necessary.
3. Without digits, the current version can generate only 140860
different passwords. Adding digits is highly recommended, because
it increases the search space for brute force attacks.
If you run this script on the command line without arguments, it will
generate 100 random passwords for you:
$ python english_passwords.py
steakent mnefres ghoptiod ghonteps veivetch
genthelms rhymbest glanswelps nurthet psystithms
smorbicts toanioms shackyst candmeds nibang
truenteeds threarou biablelp whirious cloublids
spouchatch nuisew ghappoils sleckisc wrisfarts
scettlisps straintids wridgerms gnowips weedlyths
prectlyl fagults sphersed mnellals sphetweipt
phansminds postlyst heybough mnephirls liallords
needeft fronfrorks zobjeck criencies splenlyl
joymerr mnerbifts streerus brientlengths flousipts
rhympail gansior funcherb grairolls oaninch
stoorilm troubly smarvirms stricaught ghamposts
vobtair schechamps pootnol slinhept clupom
stymbidth foomirls renthels naireit strurtoh
spheffi fientlemns steareir culgength shootnolt
wrojuch glatyms phrantlerbs stoosough chailief
chaffompts schojers reinstabs psypyl twitas
baudags smorchilms drossutt peemuns claudeal
roomul spoilians phrarblers pimbild pumains
loadioms spoutrields fleelouts brexplairs glonciews
This file is ready to use with common English letter combinations, but
you can also use it to generate combination dicts for other languages.
Then you can replace the dicts in this file with the new ones, and you
have a password generator for your own language, e.g. Klingon.
$ python english_passwords.py wordlist.txt 1000
The file wordlist.txt should contain one lowercase word on each line.
To make a simple wordlist for use with this script, download and
unpack SCOWL-6 and then run the following commands:
$ cd scowl-6/final
$ cat english-words.{10,20} | grep -v "'" | grep -v $'\xe9' > wordlist.txt