Dictionary-based password generator https://github.com/mgajda/wordpass

Version on this page:
LTS Haskell 8.24:
Stackage Nightly 2017-02-11:
Latest on Hackage:

See all snapshots wordpass appears in

BSD-3-Clause licensed by Michal J. Gajda
Maintained by mjgajda@gmail.com

Module documentation for


Dictionary-based password generator.

Build Status Hackage

Script reads dict word lists and generates word-based passwords. Uses dictionaries from /usr/share/dict by default. Inspired by xkcd comic.

Program also prints how many words have been read, and indicates estimated password space size in bits.

Using just four words from default English dictionary of ~50k words will give approximately 90 bits of entropy. Lucky speakers of languages with rich inflection like Polish (over 3 million word variants) can easily up this to over 110 bits of entropy.


-*-Changelog-*- Jul 2018
* Random case for words.
* Bump to GHC 8.4 and LTS 11.2 May 2018
* Use Test.QuickCheck.Gen for random generation instead of RVar. Nov 2017
* Relax deps for GHC 8.2. Nov 2016
* Updated to directory- on GHC 8.0.
* Added stack recipe. Jun 2016
* Updated imports for GHC 8.0. May 2016
* Updated bounds for GHC 8.0. Jul 2015
* Relaxed upper bounds for vector 0.11. Mar 2015
* Relaxed upper bounds again. Dec 2014
* Relaxed upper bounds again. Dec 2014
* Relaxed upper bounds for GHC 7.10 Oct 2014
* Stable release. Oct 2014
* Expose library interface. Jul 2014
* Workaround bug in GHC 7.8 that misses last instance during Template
Haskell enumeration of class instances in HFlags. May 2014
* Various esthetic fixes. May 2014
* Option to select standard Haskell random number generator or /dev/random.
* Pre-filtering input files to get rid of symlinks to files that are
already there, and READMEs.
* Splitted Data.Random.{Choice|Vector} to be submitted for inclusion
in random-fu. May 2014
* CLI interface with HFlags and documentation. May 2014
* Working script. May 2014
* Uncommented prototype.
comments powered byDisqus