Secure passphrase generator using the diceware method.
For a long time the apg
command line program has allowed users to create random, pronounceable passwords that are also hard to guess. This program attempts to do the same thing for pass phrases.
It uses the diceware method to derive random passphrases and takes some precautions to ensure that all the phrases it displays are as secure as possible within the confines of the user's request. By default it outputs a plain 5 word passphrase and won't output anything with less than 4 words unless you specify the quality option (-q | --quality). However, even with the quality option it won't display any phrases with less than 8 characters (including spaces).
If you want shorter passphrases you can use the --quality
option to insert one special character and convert one letter to upper case at random.
sppg --word-count 2 --quality
Ultimately the security of your passphrase is only as good as the sytem it's stored on. If the webservice you're accessing stores passwords in plaintext in its database and it gets hacked it will do you no good to have a 12 word passphrase. You should never reuse passphrases. Better yet, use a password manager.
"This is all well and good," you might say. "But how's your password hygiene?" you might ask. I'm only some rando on the internet that plays at being a software developer. I use a password manager and for its master password I use a plain, unadorned 4 word passphrase from the original list generated thusly:
sppg -w 4
These resources offer further information on the subject of passphrase security.
https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
To insure it was installed correctly type the following commands and make sure you get a successful output:
rustc --version
cargo --version
From a terminal: 1. Clone this repository
git clone https://github.com/mtelahun/sppg.git
cargo run --release
To install this package switch to the root of repository directory and type:
cargo install --path .
``` Usage: sppg [OPTIONS]
Options:
-e, --eff Use EFF wordlist
-n, --num-of-pass