A simple password generation cli app. This app was originally built as a playground for some ideas.
It can generate passwords in multiple formats:
random | trigraph | xkcd |
---|---|---|
Z#EZssS6Skyh%xQhP@datwyW | rationatc | find factory bean waste |
w#M27Rpx2G7KI50Oc1yCluh5 | ishovenfi | depth team thumb positive |
ta5$WoeqdmEyIWgLGL%UwB5d | pedistans | excellent chicken glass ability |
kQ3j$lfIwSiP3Ks5lSVML%Y$ | litinglen | stairs live thing die |
Qr%A7UHdIddMR9K5QskRmypT | nizzinama | draw yard fifty soap |
This project requires go1.17+ to compile. Just run go install github.com/gesquive/crank@latest
and the executable should be built for you automatically in your $GOPATH
.
Optionally you can run make install
to build and copy the executable to /usr/local/bin/
with correct permissions.
Alternately, you can download the latest release for your platform from github.
Once you have an executable, make sure to copy it somewhere on your path like /usr/local/bin
or C:/Program Files/
.
If on a *nix/mac system, make sure to run chmod +x /path/to/crank
.
This app is also avalable from this homebrew tap. Just install the tap and then the app will be available.
$ brew tap gesquive/tap
$ brew install crank
Generate secure random passwords in a number of different formats
Usage:
crank [flags] [command]
Available Commands:
random Generate random passwords
trigraph Generate human readable trigraph passwords
xkcd Generate passwords with the XKCD password scheme
Flags:
-c, --config string config file (default is $HOME/.config/crank.yml)
-n, --number value The number of passwords to generate (default 5)
-v, --version Show the version and exit
Use "crank [command] --help" for more information about a command.
If you install via homebrew, the shell completion scripts are installed for you. Otherwise, this application can generate its own shell completion scripts for bash/fish/zsh.
To generate and load completion scripts for bash
source <(crank completion bash)
To load completions for each session, execute once:
Linux:
crank completion bash > /etc/bash_completion.d/crank
macOS:
crank completion bash > $(brew --prefix)/etc/bash_completion.d/crank
If shell completion is not already enabled in your environment, you will need to enable it. You can execute the following once:
echo "autoload -U compinit; compinit" >> ~/.zshrc
To load completions for each session, execute once:
crank completion zsh > "${fpath[1]}/_crank"
You will need to start a new shell for this setup to take effect.
crank completion fish | source
To load completions for each session, execute once:
crank completion fish > ~/.config/fish/completions/crank.fish
This documentation can be found at github.com/gesquive/crank
This package is made available under an MIT-style license. See LICENSE.
Trigraph generation code was largely based on the work of multicians. Their excellent gpw app source code can be found at http://www.multicians.org/thvv/tvvtools.html
The XKCD password scheme originated here: http://xkcd.com/936/
PRs are always welcome!