Passphrase Generator


Keywords
diceware, generator, keygen, passphrase, password
License
BSD-1-Clause
Install
pip install keysmith==3.0.1

Documentation

Keysmith

Generate passphrases by randomly selecting and concatenating words from a list.

Note: This project is no longer maintained. Use xkcdpass instead.

https://imgs.xkcd.com/comics/password_strength.png

Installation

Use pip to install Keysmith.

pip install keysmith

Usage

Keysmith can be invoked from a command-line or imported in Python.

CLI

$ keysmith --help
usage: keysmith [-h] [--delimiter DELIMITER] [--encoding ENCODING]
                [--nsamples NTEETH] [--population POPULATION] [--stats]
                [--version]

optional arguments:
  -h, --help            show this help message and exit
  --delimiter DELIMITER
                        a delimiter for the samples (teeth) in the key
                        (default: )
  --encoding ENCODING   the encoding of the population file (default: utf-8)
  --nsamples NTEETH, -n NTEETH
                        the number of random samples to take (default: 6)
  --population POPULATION, -p POPULATION
                        alphanumeric, ascii_letters, digits, printable, or a
                        path to a file of line-delimited items (default:
                        /usr/share/dict/words)
  --stats               show statistics for the key (default: False)
  --version             show program's version number and exit
$ keysmith -n4
correct horse battery staple

API

>>> import keysmith
>>> help(keysmith)
>>> with open('/usr/share/dict/words', 'r') as words:
...     keysmith.key(seq=list(words), nteeth=4, delimiter=' ')
...
'correct horse battery staple'