node-password-generator (pass-gen)
A customizable command-line/terminal password generator
It works programmatically in node and in the browser too!
Generate human-readable1 passwords quickly and easily and specify what set of characters you want to generate the password from. By default it uses the full Latin-1 charset (execept for some ambiguous characters such as space and iIl etc) to maximize entropy.
It's best understood by looking at the examples.
1 Depends on how "readable" you consider AS$é§0 to be and if your font supports Latin-1 characters.
Examples
Default usage
$ passgencq@öÙ]ØúüÏ-7d3VÀï½:cížm-B7Å.ò
WIFI-friendly password
$ passgen -wnl 10xy3zg6k12h
PIN code
$ passgen -nl 40162
Quick copy to clipboard
$ passgen | pbcopy
See the tests folder for more examples.
Installation
npm install pass-gen -g
Usage
Command-line API
$ passgen -h Usage: passgen [options] Options: -h, --help output usage information -V, --version output the version number -n --numbers Use 0-9 -w --ascii Use a-z -u --ASCII Use A-Z -s --special Use special ASCII characters such as .,_:;@... -W --latin Use Latin-1 chars such as åöäé... -U --Latin Use uppercase Latin-1 chars such as ÅÖÄÉ... -S --Special Use special Latin-1 chars such as £§±©... -a --ambiguous Exclude ambiguous characters such as [space]"oO0... -x --extra <custom charset> Use a custom set -l --length <integer> Set number of characters, Default: 30 -i --interactive Interactive mode
Node API
require('pass-gen')(options, [length])
- options (Array|Object) What charsets to use
- numbers
- ascii
- ASCII
- special
- latin
- LATIN
- Special
- ambiguous
- extra
- length
- length (Int) Number of characters in password
- options (Array|Object) What charsets to use
See command-line options for what these options do
Node examples
var passgen = ; // Default; // Using array; // Using object;
Note that an options object must be used if you want to specify a custom charset.
Browser usage
Compile with browserify. See Node examples.
Contribution
Please create an issue if you find something broken or would like a new feature. Do so even if you want to fix it yourself, so I know. Work of and issue pull-request to the develop branch.
Tests
Run make test
to run tests. Any added or changed functionality must be tested.
License
MIT