This project has moved. For the latest updates, please go here.
The console app exposes most functionality of the generator. Here are a few basic usages.

Output

First off, lets just run it and look at the output:

AXIOS\C:\Users\Murray> .\PassphraseGenerator.exe

Readable Passphrase Generator 0.13
Generating 10 phrase(s) of strength 'Random'...
Must be between 1 and 999 characters.
Dictionary contains 13,160 words (loaded in 406.98ms)
Average combinations ~2.514E+023 (~77.73 bits)
Total combinations 3.065E+010 - 5.962E+037 (34.84 - 125.49 bits)
Using no mutators

the hailstorm mitigates a witty vote
the canvas proclaimed the wombat will solder the emulator
her imperial shipmate deduced a splicer
the haul telephones the node
a sling was outgrowing until the hothead
his guard-dog wondered a vitamin was feeding my enchanted kiloton
the kettle uttered a soup unifies an enchanter
Addison mumbled a lube whets a spot
tortoises are elapsing as far as that LED
a sage has eluded the cocoa iguana but not the tasty helmets

Generated 10 phrase(s) in 144.59ms.

Result: 10 phrases you can choose between, and a whole lot of other stats.

The two notable items is the dictionary size (~13,100 in this case), and the number of combinations (several billion billion). This is based on the template behind the phrase strength 'Random' (see What Passphrase Should I Use for the details), the generator counts up all the different combinations possible.

(Versions of the generator earlier than 0.10.0 used the 'Normal' phrase strength. 'Random' selects between all the different phrase strengths, so you can choose yourself based on phrase length).

Because the generator knows the pools of words its working from and different ways that can be put together, it can count how many total combinations there are. This gives a more accurate estimate of phrase strength than many other measures of password strength. It's presented as a weighted average and a min / max range (previous versions used to only show the maximum number). See Combination Counting for details about these three numbers.

Usage

Now lets ask for help:
AXIOS\C:\Users\Murray> .\PassphraseGenerator.exe --help
Usage: PassphraseGenerator.exe [options]
  -c --count nnn        Generates nnn phrases (default: 10)
  -s --strength xxx     Selects phrase strength (default: Random)
                xxx =     [normal|strong|insane][equal|required][and|speech]
                          or 'custom' or 'random[short|long|forever]'
  --min xxx             Specifies a minimum length for phrases (def: 1)
  --max xxx             Specifies a maximum length for phrases (def: 999)
  --spaces true|false   Includes spaces between words (default: True)
  -n --nongrammar nn    Creates non-grammatical passphrases of length nn

  -m --stdMutators      Adds 2 numbers and 2 capitals to the passphrase
  --mutUpper xxx        Uppercase mutator style (default: Never)
             xxx =        [startofword|anywhere]
  --mutUpperCount nn    Number of capitals to add (default: 2
  --mutNumeric xxx      Numeric mutator style (default: Never)
               xxx =      [startofword|endofword|startorendofword|anywhere]
  --mutNumericCount nn  Number of numbers to add (default: 2

  -l --loaderdll path   Specifies a custom loader dll
  -t --loadertype path  Specifies a custom loader type
  -a --loaderargs str   Specifies arguments for custom loader
  -d --dict str         Specifies a custom dictionary file
  -p --phrase path      Specifies a custom phrase file
                          Must use -strength custom

  -q --quiet            Does not display any status messages (default: show)
  -h --help             Displays this message
See http://readablepassphrase.codeplex.com/ for more information

I'll illustrate most of these in a moment, but a few things I won't go into detail about:
  • --dict - can accept a custom dictionary as an uncompressed xml file or as a gzipped (not zipped) xml file.
  • --phrase - Loads a file defining your own custom phrase.
  • --space - Turns a tweet will can a blip into atweetwillcanablip
  • --loaderdll , --loadertype and --loaderargs - uses an arbitrary .NET assembly and type with arguments to load a dictionary. You can use this to load your dictionary from a database, a web service or anywhere you care to program.

20 Strong Phrases

The Random phrase strength selects between the very short (as few as 2 words) and the very long (up to 20 words). But perhaps you want something more specific? Well, you can choose your phrase strength at will. And how many phrases are generated.

AXIOS\C:\Users\Murray> .\PassphraseGenerator.exe -c 20 -s strong

Readable Passphrase Generator 0.13
Generating 20 phrase(s) of strength 'Strong'...
Must be between 1 and 999 characters.
Dictionary contains 13,160 words (loaded in 417.23ms)
Average combinations ~1.683E+019 (~63.87 bits)
Total combinations 6.000E+013 - 2.322E+022 (45.77 - 74.30 bits)
Using no mutators

the goat was panning the podium
idealists framed a dream
....
the vehicular thing was chartering its trek
their tuneless one furrows an excluded scandal

Generated 20 phrase(s) in 140.59ms.

Yay! Now we have 20 phases to choose from. They're also based on the Strong phrase template: note the decrease in average combinations but the narrowing of the min / max range.

Strong vs StrongEqual vs StrongRequired vs StrongAnd

A more recent feature are "equal", "required" and "and" versions of each strength. Equal and required are for password purists which prefer randomness over a nice sounding phrase. And adds another noun at the end of the phrase. And you can combine them if you like: StrongRequiredAnd. You can get the detail behind them from What Passphrase Should I Use.

Readable Passphrase Generator 0.13
Generating 10 phrase(s) of strength 'StrongEqual'...
Must be between 1 and 999 characters.
Dictionary contains 13,160 words (loaded in 410.33ms)
Average combinations ~9.377E+020 (~69.67 bits)
Total combinations 6.000E+013 - 2.322E+022 (45.77 - 74.30 bits)
Using no mutators

how does Bertie work in front of this dry thistle
Cleopatra is conducting out of a frightened tubercle
why do the presidents fester under the ergonomic tiara
Freddy laminated that award
Elise will hug an eternal airman
Paine has compressed on top of my sullen task
when does Henry unify the cribbage
should this confident thing delete this embattled bramble
when does that simple one penetrate given an incorrect bramble
will Goff work my clanking scoop

Generated 10 phrase(s) in 126.79ms.


Readable Passphrase Generator 0.13
Generating 10 phrase(s) of strength 'StrongRequired'...
Must be between 1 and 999 characters.
Dictionary contains 13,160 words (loaded in 400.86ms)
Average combinations ~5.829E+021 (~72.30 bits)
Total combinations 9.458E+019 - 1.890E+022 (66.36 - 74.00 bits)
Using no mutators

why does Osbert front apart from the planar parsec
your stylist is benefiting outside its eastbound mattock
how does Aeolia sack on behalf of that woofing larch
why does the parody agree until his inherent revue
will Pierre emerge right of their foul scullion
this plain has shrieked with that frail stranger
will our connected things radio by means of the pricey gambit
Lahore will mope in addition to that optimum excise
should the Rhineland clothe across from that outdoor scone
why does Jason work towards a lesbian lanyard

Generated 10 phrase(s) in 130.35ms.


Readable Passphrase Generator 0.13
Generating 10 phrase(s) of strength 'StrongAnd'...
Must be between 1 and 999 characters.
Dictionary contains 13,160 words (loaded in 415.86ms)
Average combinations ~1.642E+027 (~90.41 bits)
Total combinations 1.389E+018 - 1.088E+031 (60.27 - 103.10 bits)
Using no mutators

the passwords were sailing prior to the fancy screech and even the uric tidewater
her vehicle might overhear my mane and a gloats dapple
the 729 outfitters will dice the enchilada before a waxy undertow
a soluble thing is ruling the designer savanna after its current
the oviparous thing was logging his ceiling before that earmuff
a corset queried your backstop and even this hacksaw
can the kiss strangle a shallot because of the typed zigzag
her basilica is deporting his harpist and even his nodular occasion
the plea allotted its dance and their hewer
Alcoa will see far from a slat and that walkout

Generated 10 phrase(s) in 149.61ms.

Size Matters

It's very unfortunate that many websites and apps limit the minimum or maximum length of your passwords. A particular place where this bit me once was my WiFi password (which can be a maximum of 63 characters). The --min and --max options allow you to specify upper and / or lower bounds for passphrase length:

AXIOS\C:\Users\Murray> .\PassphraseGenerator.exe -c 10 -s strong --min 30 --max 30

Readable Passphrase Generator 0.13
Generating 10 phrase(s) of strength 'Strong'...
Must be between 30 and 30 characters.
Dictionary contains 13,160 words (loaded in 410.40ms)
Average combinations ~1.683E+019 (~63.87 bits)
Total combinations 6.000E+013 - 2.322E+022 (45.77 - 74.30 bits)
Using no mutators

Godot dashes without the grant
Walcott speaks past its sensor
a moat debunked the hemp plant
bowlers struts against my puma
communist ones cleave a giblet
its tuber fumbles the huntsman
a scorer will desist the bimbo
the preview craves the cornice
an orchard gazettes the tomboy
a purchase enslaves a prologue

Generated 10 phrase(s) in 218.24ms.

Pesky Password Requirements

Many workplaces, apps and websites also have some rules or requirements which must be met for your password. Usually, it's something like "must have at least one upper case, one lower case and one number". Starting in version 0.13, you can use "mutators" to ensure your passphrase has upper case letters and numbers in it. Simply use the -m option to add two upper case letters and two numbers. Or use the options starting with --mut for full control.

AXIOS\C:\Users\Murray> .\PassphraseGenerator.exe -m

Readable Passphrase Generator 0.13
Generating 10 phrase(s) of strength 'Random'...
Must be between 1 and 999 characters.
Dictionary contains 13,160 words (loaded in 451.55ms)
Average combinations ~2.514E+023 (~77.73 bits)
Total combinations 3.065E+010 - 5.962E+037 (34.84 - 125.49 bits)
Using standard mutators (2 numbers, 2 capitals)

those tykes2 declared That tussle hobbled as1 far as The patrician
an Armhole0 Will ignite their savant1
....
this Fortress might Observe ulterior ligaments and an3 antigen3
the1 Igloo might christen around the7 headstone after the Interlude


AXIOS\C:\Users\Murray> .\PassphraseGenerator.exe --mutUpper anywhere --mutUpperCount 999 mutNumeric startorendofword --mutNumericCount 3

Readable Passphrase Generator 0.13
Generating 10 phrase(s) of strength 'Random'...
Must be between 1 and 999 characters.
Dictionary contains 13,160 words (loaded in 415.58ms)
Average combinations ~2.514E+023 (~77.73 bits)
Total combinations 3.065E+010 - 5.962E+037 (34.84 - 125.49 bits)
Using upper case and numeric mutators (999 capital(s), 3 number(s))

THE DOUBTER SEGMENTS AN1 ADDITIVE AFTER5 THE GRAVY8
212 ACCRETIONS5 ABOUND 4EXCEPT 9HIS ENDLESS CHEDDER
...
THE COCHLEA6 RANTED6 THEIR 1 BAKERY WILL DENIGRATE A FOWL1
A MUSHROOM IS 8DISBURSING 5OMINOUSLY EXCEPT8 FOR YOUR AIRPORT OR THE HOG


Being Quiet

Finally, lets get rid of all the noise:

AXIOS\C:\Users\Murray> .\PassphraseGenerator.exe -c 100 -s strong -q
a renowned one will readjust the drink
a piker will rehearse a pot
a nut renumbered this inkblot
....
a communist recharged the depleted zit
a faculty relented beside the turret
the archdukes testifies past the deciduous oat
how does the defector lift their lifeboat

The -q option will only show the resulting passphrases. If you want to use the console app and standard output to get your passphrases (perhaps to pipe into some other program), this is they way to go.

Last edited May 11, 2014 at 11:56 AM by ligos, version 13

Comments

No comments yet.