Generates a statistically strong password with a minimum char length of your choice.
A strong password should be of decent length, e.g. 10-20+ characters long, containing alphanumeric characters both up and lower case with special characters.
A strong password should also not be a word or phrase that either has a personal attachment (name, pets name, home city) and it should also not follow a logical flow e.g. 'theSleepingDog' as it's more likely to be comprimised by a dictionary attack.
This script solves these problems by generating a password of your chosen length with X amount of random words from the word list provided whilst adding at least 2 random digits either before of after each word (percentage chance). Although this is not necessarily the 'perfect' system, it will, non-the-less, create a very strong password that is very unlikely to succumb to any dictionary attack.
Usage
$python passwdgen.py 20
Sample Outputs:
Reprised23Ambiences,
Numismatic74Carve81#
21CrimeaRhapsodic19~
14Pithiest52Haloing£
16SalientsSlathered=
Mensa48Intoxicating#
Pinches23Belts27Sam*
Subspace78Vaughan38#
76MinimalBridgehead?
80Disneyland41Creak*
Investments51Tucker#
Modulates63Bassinet$
26BeholdsGooseberry)
35Constable57Haze40)
Gluing45Laxatives90)
DirtinessTreading94=
Blistered19Leaflets(
JackpotPhilippine77+
72RacemesToxicity23>
InsuranceDesirous24-
(highly unlikely to be in dictionary attack and easy to remember)