2 unstable releases

0.5.0 Dec 3, 2019
0.4.0 Dec 3, 2019

#892 in Authentication

MIT license

100KB
76 lines

Reinhold

Background

For passwords you don't need to remember, there's 1Password. For everything else, there's diceware.

Diceware was created by Arnold Reinhold, hence the name of this application.

I built this tool because I wanted a quick and secure local diceware password generator. Also because I wanted to build something with Rust.

For a quick overview of what diceware is, check wikipedia.

For a good discussion of strong master passwords, see this post from 1Password.

EFF's word lists are available here. This tool accepts any number of consecutive rolls.

The best explanation, really, is xkdc #936:

xkcd ftw

Usage

USAGE:
    reinhold [OPTIONS] --input <INPUT> --length <LENGTH>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -i, --input <INPUT>            Sets the input file to use
    -l, --length <LENGTH>          Number of words to generate
    -s, --separator <SEPARATOR>    Word separator (defaults to space)

NB: I strongly recommend manipulating the output in some way. xkpassword provides some solid options for doing so.

You can also supply your own list if it matches the format of the EFF list. That is as follows, with the first column representing consecutive rolls:

11111 abacus
11112 abdomen
11113 abdominal
11114 abide
11115 abiding
11116 ability
11121 ablaze
11122 able
11123 abnormal

Planned improvements

  • Support the use of word lists that accept an arbitrary number of dice.
  • Enable different separators
  • Enable custom words
  • Enable case transformations
  • Enable padding digits or characters

Dependencies

~1MB
~16K SLoC