Skip to main content

Generate secure multiword passwords/passphrases, inspired by XKCD

Project description

xkcd-pass

build status PyPI version codecov PyPI - Downloads

A flexible and scriptable password generator which generates strong passphrases, inspired by XKCD 936

$ xkcd-pass
> HeadscarfSuddenDumping93

Install

xkcd-pass can easily be installed with the following command:

pip install xkcd-pass

or manually by:

python setup.py install

Source

The source code can be found here.

Contributions welcome and gratefully appreciated!

Requirements

Python 3 (Version 3.6 or later).

Running xkcd_pass

xkcd-pass can be called with no arguments with an output using the default wordfile and settings.

$ xkcd-pass
> HeadscarfSuddenDumping93

The default settings return a single password made up of 3 words each having its first letter capitalized with two random digits afterwards.

It can also be called with a mixture of multiple arguments for example:

$ xkcd-pass -d _ -c 5 --min 5 --max 7 --padding-digits-num 4
> Mundane_Music_Spleen1837
> Reuse_Acclaim_Clarify2492
> Wildly_Contest_Anchor1798
> Imprint_Luster_Happy4339
> Scarf_Strobe_Footer5579

This will return:

  • -d _ words joined by _.
  • -c 5 5 passwords to choose from.
  • --min 5 --max 7 words between 5 and 7 characters long.
  • --padding-digits-num 4 4 digits on the end of the password.

A full overview of the available options can be accessed by running following command:

xkcd-pass --help

Word Lists

Several word lists are provided with the package. The default, eff-long, was specifically designed by the EFF for passphrase generation and is licensed under CC BY 3.0. As it was originally intended for use with Diceware ensure that the number of words in your passphrase is at least six when using it. Two shorter variants of that list, eff-short and eff-special, are also included. Please refer to the EFF documentation linked above for more information.

Note that xkcd-pass can be used with any word file of the correct format: a file containing one word per line.

Changelog

  • Version 1.0.0
    • Initial Release
  • Version 1.0.1
    • Fixed license display on PyPI.
    • Fixed links to license files on PyPI.
  • Version 1.0.2
    • Fix interactive usage.
    • Fix issue where wrong wordfile wasn't being recognised.
    • Add 100% test coverage.
  • Version 1.0.5
    • Fix typo in static import causing wordfile error.
  • Version 1.0.6
    • Change package name to xkcd_pass.
  • Version 1.0.7
    • Change command-line package to xkcd-pass.

License

This project is released under the GNU GENERAL PUBLIC LICENSE v3. However the original code from redacted/xkcd_password-generator is licensed under the BSD 3-Clause license.

Project details


Download files

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

Source Distribution

xkcd-pass-1.0.7.tar.gz (55.9 kB view hashes)

Uploaded Source

Built Distribution

xkcd_pass-1.0.7-py3-none-any.whl (55.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page