|lotus 28c36c4e31 Merge branch 'master' of https://git.zerohack.xyz/lotus/xpg||1 month ago|
|include||2 months ago|
|tests||2 months ago|
|.clang_complete||1 month ago|
|.gitignore||7 months ago|
|.travis.yml||1 month ago|
|LICENSE.md||8 months ago|
|README.md||1 month ago|
|compile_commands.json||2 months ago|
|main.cpp||2 months ago|
|makefile||1 month ago|
|xpg.1||6 months ago|
|xpg.cpp||2 months ago|
Simply wanted a quick way to generate memorable passwords from the command line.
thanks to dwyl for publishing the plaintext dictionary
# on ubuntu sudo apt install build-essential libsodium-dev git clone https://git.zerohack.xyz:443/lotus/xpg.git cd xpg make && sudo make install # creates ~/.xpg/dict.txt (the default dictionary location) # if you want to build a debug version make debug # if you want to build an optimized version make opt
Check out the Releases page..
xpg # use config file specified settings (or default) xpg -c snake # use snake_case xpg -c pascal # use PascalCase xpg -c camel # use camelCase xpg -c lisp # use lisp-case xpg -w 12 # specify 12 words to be used xpg -n 6 -w 12 # create 6 passwords each using 12 words
The default settings are meant to be sane and secure. None of the settings will degrade the security of your passwords, they simply cater to your personal preference.
The random number generator used is from libsodium, a new and strong crypto library. The RNG is also seeded by libsodium in the proper fashion. The reasoning behind choosing libsodium is that it is quickly installed via most unix package managers, therefore most people either already have it installed, or can install it easily. I wanted to use only standard library features, but couldn't find a safe way to to so.
There has been much online debate regarding the safety of using this scheme. There is enough evidence to show that as long you are using passwords in a safe manner you will be safe using this scheme. This means using a password manager, and not using one password for all your different logins. You can read some of the arguments for and against the scheme here, here, and here. If you are looking for a good password manager, I suggest pass.
Feel free to send me suggestions for improving the security of this application. I'm open to being shown where there are errors.
Free and Open Source software and the help of the church of Emacs ;)
Currently only ASCII english dictionaries are supported.
BSD 3-Clause; See LICENSE.md. Please use a secure password manager.