Skip to main content

pwgen-passphrase

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

Metadata

Release files for pwgen-passphrase 1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pwgen-passphrase 1.2
File Size Uploaded Provenance
pwgen-passphrase-1.2.tar.gz 1.2 MB Without provenance Details

Release files / pwgen-passphrase-1.2.tar.gz

Download URL pwgen-passphrase-1.2.tar.gz
Size 1.2 MB
Tags Source
SHA-256 checksum
How to use checksums
7a44412f435c846c36ea78ccbef50d73a073d26178fb80b04c911e33fea6fb73
BLAKE2b-256 checksum
How to use checksums
3220e8a0b5adbc5e5c051d8b42661140433f36a2ad3d369b6e63bd6ac462e115
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for pwgen-passphrase 1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.2 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page