5 ------------------------------------------------
6 generate memorable, secure multiword passphrases
7 ------------------------------------------------
11 :Copyright: |license|.
15 .. |command| replace:: **xkcdpass**
16 .. |license| replace::
17 BSD license, attribution and disclaimer required, no endorsement allowed
23 | |command| [ `option` ... ]
24 | |command| **--help**
30 A flexible and scriptable password generator which generates strong
31 passphrases, inspired by XKCD 936::
34 > correct horse battery staple
42 Describe how to use this command.
44 **--wordfile** `WORDFILE`, **-w** `WORDFILE`
46 Specify that the file `WORDFILE` contains the list of valid words
47 from which to generate passphrases.
49 **--min** `MIN_LENGTH`
51 Generate passphrases containing at least `MIN_LENGTH` words. (Default: 5)
53 **--max** `MAX_LENGTH`
55 Generate passphrases containing at most `MAX_LENGTH` words. (Default: 9)
57 **--numwords** `NUM_WORDS`, **-n** `NUM_WORDS`
59 Generate passphrases containing exactly `NUM_WORDS` words. (Default: 6)
61 **--interactive**, **-i**
63 Generate and output a passphrase, query the user to accept it, and
64 loop until one is accepted.
66 **--valid_chars** `VALID_CHARS`, **-v** `VALID_CHARS`
68 Limit passphrases to only include words matching the regex pattern
69 `VALID_CHARS` (e.g. ``'[a-z]'``).
73 Report various metrics for given options.
75 **--acrostic** `ACROSTIC`, **-a** `ACROSTIC`
77 Generate passphrases with an acrostic matching `ACROSTIC`.
79 **--count** `COUNT`, **-c** `COUNT`
81 Generate `COUNT` passphrases. (Default: 1)
83 **--delimiter** `DELIM`, **-d** `DELIM`
85 Separate words within a passphrase with `DELIM`. (Default: ' ')
93 Generates one passphrase with the default options. Example output::
95 pinball previous deprive militancy bereaved numeric
97 * | |command| --count=5 --acrostic='chaos' --delimiter='|' --min=5 --max=6 --valid_chars='[a-z]'
99 Generates 5 passphrases, all from lower-case words and meeting the
100 acrostic “chaos”, delimited by the “|” character. Example output::
102 collar|highly|asset|ovoid|sultan
103 caper|hangup|addle|oboist|scroll
104 couple|honcho|abbot|obtain|simple
105 cutler|hotly|aortae|outset|stool
106 cradle|helot|axial|ordure|shale
112 The |command| command invokes the Python program ``xkcd_password.py``.
114 The inspiration for the program's purpose is the `XKCD 936`_ “Password
117 The application is maintained by Steven Tobin <steven@steventob.in>.
119 This manual page was written by |author|.
121 .. |author| replace:: |authorname| |authoremail|
122 .. |authorname| replace:: Ben Finney
123 .. |authoremail| replace:: <ben+python@benfinney.id.au>
125 .. _XKCD 936: https://xkcd.com/936/
132 time-stamp-format: "%:y-%02m-%02d"
133 time-stamp-start: "^:Date:[ ]+"
135 time-stamp-line-limit: 20
137 vim: fileencoding=utf-8 filetype=rst :