Skip to main content

Secure wordlist-based passphrase generator

Project description

Secure wordlist-based passphrase generator

Description

Use pwgen-passphrase to generate secure (yet easy to remember) random passphrase from wordlist. See legendary xkcd: Password Strength comic strip for more details ;-)

Included wordlists are:

Requirements

  • Python 3
  • Optional: PyQt (for copying generated passphrase to clipboard)
  • Optional: regex (for better regex filtering, e.g. ^[\p{Ll}]+ for Unicode lower-case letters only)

Usage

Run pwgen-passphrase --help to see all available options.

Example:

[randall@xkcd.com ~] pwgen-passphrase -w cracklib-small -l 4 -t
correct horse battery staple

Statistics:
===========
Number of words in passphrase: 4
Wordlist length: 52875 words
Passphrase strength (entropy): 62.8 bits

Passphrase length: 28 chars
Length of equivalent case sensitive alphanumeric password: 11 chars
Length of equivalent all ASCII printable characters password: 10 chars

Help

usage: pwgen-passphrase [-h] [-t] [-c] [-s SEPARATOR] [-n COUNT]
                        [-w {aspell-cs,aspell-en,bip0039,cracklib-small,diceware,eff-long,eff-short,eff-short2,skey} | -f WORDLIST_FILE]
                        [-l LENGTH | -b BITS] [-L | -U | -C] [--min MIN]
                        [--max MAX] [-r] [-e REGEX] [--version]

generate secure random passphrase from wordlist

optional arguments:
  -h, --help            show this help message and exit
  -t, --stats           show statistics about generated passphrase
  -c, --clipboard       copy generated passphrase to clipboard (needs PyQt)
  -s SEPARATOR, --separator SEPARATOR
                        words separator (default is space)
  -n COUNT, --count COUNT
                        generate multiple passphrases (default is 1)
  -w {aspell-cs,aspell-en,bip0039,cracklib-small,diceware,eff-long,eff-short,eff-short2,skey}, --wordlist {aspell-cs,aspell-en,bip0039,cracklib-small,diceware,eff-long,eff-short,eff-short2,skey}
                        select wordlist (default is eff-long)
  -f WORDLIST_FILE, --wordlist-file WORDLIST_FILE
                        path to external wordlist file
  -l LENGTH, --length LENGTH
                        length of generated passphrase (number of words,
                        default is 6)
  -b BITS, --bits BITS  minimal passphrase strength (bits of entropy)
  -L, --lower           make words lowercase
  -U, --upper           make words uppercase
  -C, --capitalize      make words capitalized
  --min MIN             limit minimum length of word (default is unlimited)
  --max MAX             limit maximum length of word (default is unlimited)
  -r, --transliterate   transliterate Unicode characters to ASCII and remove
                        duplicates
  -e REGEX, --regex REGEX
                        remove words that do not match regular expression
  --version             show program's version number and exit

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
pwgen-passphrase-1.2.tar.gz (1.2 MB) Copy SHA256 hash SHA256 Source None Mar 28, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page