mnemonic
is a diceware alike password generator written in Go.
- specify number of words
- support for different languages
- specify a delimiter between words
- use an external file as word list
- German
- English
- Japanese
- French
- Korean
- Italian
- Spanish
- Czech
- Chinese (simplified)
- Chinese (traditional)
- Provide a library to work with (useful for password generators, password stores, etc)
- Set a max limit for length of words/chars
- Random numbers as delimiter
- Leetspeak support eg:
hello-dear
toh3ll0-d34r
- Makefile and automated builds/releases on Github
Usage of ./mnemonic:
-d string
delimiter as split element for the password (default "-")
-f string
path to external word list
-l string
language of word list: [en, de, cz, jp, kr, it, es, fr, zh-cn, zh-tw] (default "en")
-n uint
number of words (default 3)
The history of mnemonic starts with the XKCD comic about easy rememberable passwords:
I am aware, that other solutions exist, but most of them are websites.
Websites are not trustable, even if password generation happens via javascript (evil plugins, that can read your website content).
With Go
we finally have a programming language that allows us to build a static binary with embedded data.
Just download the binary from the release page.
For building from source you need to install Go
.
Just clone this repository and execute: go build -o mnemonic
.
This should drop a binary in the project directory named mnemonic
.
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o mnemonic-windows-amd64.ex
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o mnemonic-apple-amd64
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o mnemonic-linux-amd64