87 lines
3.9 KiB
Markdown
87 lines
3.9 KiB
Markdown
# pwgen
|
|
Another of those passphrase generators
|
|
|
|
The functionality is heavily inspired by [HSXKPasswd](https://github.com/bbusschots/hsxkpasswd), but it didn't quite have the functionality I wanted (random capitalization) and I wanted a python module for a possible future uwsgi webapp...
|
|
|
|
# Why
|
|
Because Randall Munroe says so.
|
|
|
|
![xkcd](https://imgs.xkcd.com/comics/password_strength.png "XKCD")
|
|
|
|
# Requirements
|
|
Python 3 as well as my-/hunspell-dictionaries for the language(s) you want to use.
|
|
|
|
# What
|
|
A password/passphrase generator. See below for some example usage.
|
|
|
|
```
|
|
$ sudo python3 setup.py install
|
|
|
|
...
|
|
|
|
$ pwgen --help
|
|
usage: pwgen [-h] [--quiet] [--generate-config] [--config-file CONFIG_FILE] [--myspell-dir MYSPELL_DIR] [--encoding ENCODING]
|
|
[--unmunch-bin UNMUNCH_BIN] [--lang LANG] [--word-min-char WORD_MIN_CHAR] [--word-max-char WORD_MAX_CHAR] [--words WORDS]
|
|
[--capitalize {true,false,random}] [--separators SEPARATORS] [--trailing-digits TRAILING_DIGITS]
|
|
[--leading-digits LEADING_DIGITS] [--special-chars SPECIAL_CHARS] [--trailing-chars TRAILING_CHARS]
|
|
[--leading-chars LEADING_CHARS] [--passwords PASSWORDS] [--max-length MAX_LENGTH]
|
|
|
|
Generate passwords
|
|
|
|
optional arguments:
|
|
-h, --help show this help message and exit
|
|
--quiet, -q Only echo the generated passwords.
|
|
--generate-config, -g
|
|
Generate configuration file and then exit
|
|
--config-file CONFIG_FILE, -c CONFIG_FILE
|
|
Configuration file to use
|
|
--myspell-dir MYSPELL_DIR, -i MYSPELL_DIR
|
|
Directory containing myspell dictionaries
|
|
--encoding ENCODING, -e ENCODING
|
|
Character encoding of the directory
|
|
--unmunch-bin UNMUNCH_BIN, -u UNMUNCH_BIN
|
|
Path to my/hunspell unmunch binary
|
|
--lang LANG, -l LANG Dictionary language to use
|
|
--word-min-char WORD_MIN_CHAR, -m WORD_MIN_CHAR
|
|
Minimum number of characters in a word
|
|
--word-max-char WORD_MAX_CHAR, -M WORD_MAX_CHAR
|
|
Maximum number of characters in a word
|
|
--words WORDS, -w WORDS
|
|
Number of words to use in the passphrase
|
|
--capitalize {true,false,random}, -C {true,false,random}
|
|
Capitalize the words
|
|
--separators SEPARATORS, -s SEPARATORS
|
|
Possible characters to use as separators
|
|
--trailing-digits TRAILING_DIGITS, -d TRAILING_DIGITS
|
|
Number of digits at the end of the passphrase
|
|
--leading-digits LEADING_DIGITS, -D LEADING_DIGITS
|
|
Number of digits at the start of the passphrase
|
|
--special-chars SPECIAL_CHARS, -S SPECIAL_CHARS
|
|
Possible characters to use as extra special characters
|
|
--trailing-chars TRAILING_CHARS, -p TRAILING_CHARS
|
|
Number of special characters to add at the end of the passphrase
|
|
--leading-chars LEADING_CHARS, -P LEADING_CHARS
|
|
Number of special characters to add at the start of the passphrase
|
|
--passwords PASSWORDS, -n PASSWORDS
|
|
Number of passwords to generate
|
|
--max-length MAX_LENGTH, -L MAX_LENGTH
|
|
Maximum length of the generated passwords. Full-knowledge entropy calculation doesn't work when this is set.
|
|
|
|
$ pwgen -g --myspell-dir /usr/share/hunspell --lang sv_SE
|
|
Missing configuration file; generating a new at /home/user/.pwgen.cfg
|
|
Updating configuration file at /home/user/.pwgen.cfg
|
|
|
|
$ pwgen
|
|
Generated 5 passwords
|
|
Full-knowledge entropy is 82
|
|
Blind entropy Password
|
|
========================
|
|
171.3 Lämpligen=empirisk=Musikal=Degklump?21
|
|
206.32 Eldgaffel-Stigbygel-Vattenkoppor-ledstång-01
|
|
236.84 Studieform leksaksbil punkinfluenser luftvärdig_09
|
|
181.52 hemnummer:Fyrahundrade:Baku:segertippad!77
|
|
227.55 bärvåg,Workout,Distriktsstyrelse,Förvarstid,89
|
|
========================
|
|
|
|
```
|