xkpwgen 0.1.0

Generate XKCD 936 passwords
Documentation

xkpwgen Travis branch

Generate XKCD 936 passwords:

Install

$ cargo install xkpwgen

Building this tool requires network access because the build script fetches the wordlist from the EFF (see below).

Use

Invoke xkpwgen to generate five passwords:

$ xkpwgen
veneering hazing aging diner
hypertext repose salvaging barometer
quote parchment boxy hurt
gift womanhood step mammary
october hemstitch darkness agony

Use -l to change the length of passwords, and -n to change the number of passwords:

$ xkpwgen -l 10 -n 2
paralyses unawake both wish gawk islamist taco charity shorts barmaid
submersed tackle font gentile navy same boxing tartness trodden confined

xkpwgen --words prints the list of words used in passwords and exists.

See xkpwgen --help for more information.

Wordlist

This tool uses the EFF long wordlist which contains 7776 common English words between three and nine characters in length, at an average of seven characters per word.

Due to unclear licensing of the wordlist is not contained in this repository. The build script downloads and verifies the wordlist from the above URL before embedding it in the final executable. For this reason, the license of the final executable is unclear as well, distribute at your own risk.

If you happen to have licensing information for the wordlist, please let me know.

Copyright

Copyright (C) 2017 Sebastian Wiesner

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.