password-creator
Random password generation from the command line
Create random passwords using a dictionary of close to one hundred thousand English words
Table of Contents
Security
-
password_creator is entirely hosted on the client machine, no internet connection is ever used after installation.
-
All words used in passwords are randomly sampled from a set of 99172 common english words, which can be found in password_creator/stuff.py.
-
If default settings are used, there are > 1.62 * 10^14 different possibilities for the output.
-
Randomness is provided by the python random.sample function.
-
Note: This project has not been security audited. Use passwords from here at your own risk.
Background
Project inspired by the 1password random password generator.
Install
$ pip install password-creator
Usage
$ password_creator
razors-snip-horsehairs # Just an example, your passwords will be different
API
-
By default, passwords are three random words long, delimited with dashes.
-
Numbers and special characters can be added if you want them
-
The number of characters in a password can also be set.
-
All, some, one, or none of these can be changed at will:
$ password_creator --set_length x
# Sets the number of words in the password to be integer x
$ password_creator --set_delimiter c
# Sets the delimiter between the words to be string c
$ password_creator --set_chars y
# Sets the total number of characters in the password to be integer y
$ password_creator --with_numbers
# Add random numbers from 1 - 1000 to the password (at a 1:10 ratio)
$ password_creator --with_specials
# Adds random characters from {"!", "@", "#", "$", "%", "^", "&", "*", "("}
# to the password (at a 1:10 ratio)
Note that the ratio for --with_specials
and --with_numbers
is shared
- Examples:
$ password_creator --set_length 6 --set_delimiter /
stumbles/almanacs/weevils/exemplified/spiffy/mortises # An example
$ password_creator --set_chars 4
flou # An example
$ password_creator --with_specials --with_numbers
mooch-kinsma6%25ns-handbags # An example
- Notes
- Any valid integer can be used as a length or number of characters.
- Delimiters can be any string. The last character in the full password (this will be either the delimiter or the last character of the delimiter if the delimiter is a bigger string) is striped by default as to avoid having to use recursion. This cannot currently be changed
Contribute
PRs accepted.
Small note: If editing the Readme, please conform to the standard-readme specification.
License
MIT © Patrick Harris