Fun Password Generator
Project description
Fun Password Generator (fpw)
A password generator that attempts to generate random passwords in a cryptographically secure manner.
By default, fpw generates completely random passwords using all of the letters, numbers, and symbols that are easily typed on an English keyboard. To support insecure systems, you can specify required character groups. To support insecure humans, you can generate pronounceable passwords. To break things, you can generate passwords from a large unicode character set.
Although fpw is mainly focused on a command line interface,
Usage
usage: fpw [-h] [--number NUMBER] [--pronounceable] [--lower] [--require-lower] [--upper]
[--require-upper] [--digits] [--require-digits] [--special]
[--require-special] [--characters CHARACTERS] [--unicode] [--active-directory]
[--build-markov FILE]
[length]
Generate random passwords in a hopefully secure manner.
positional arguments:
length Length of password
optional arguments:
-h, --help show this help message and exit
--number NUMBER, -n NUMBER
Number of passwords to generate
--pronounceable, -p Create human pronounceable passwords
--lower, -l Use lower case letters
--require-lower, -L Require at least one lowercase character
--upper, -u Use upper case letters
--require-upper, -U Require at least one upper character
--digits, -d Use digits
--require-digits, -D Require at least one digit character
--special, -s Use special characters (punctuation)
--require-special, -S
Require at least one special character
--characters CHARACTERS, -c CHARACTERS
Specify individual characters
--unicode, -z Use a large unicode character set
--active-directory, -a
Output passwords that exceed the default requirements in
Microsoft Active Directory environments (`-LUDS`)
--build-markov FILE, -b FILE
Build a markov chain using the words in FILE.
Features
Character groups
You can specify the minimum number of lower, upper, digit, or special characters. You can also include only certain groups, or even specify a list of approved characters. If you specify --lower, --upper, --digits, --special, or --characters then passwords will only contain those characters.
Pronounceable passwords
Generate pronounceable passwords using Markov chains.
The Markov engine is trained to produce English-like gibberish using the words.txt file in the repository. However, that file is not required to operate fpw because fpw is a self-updating program, making it significantly closer to sentience than your average password generator. I am going to go out on a limb here and make the claim that fpw uses Artificial Intelligence.
To make fpw smarter, get a list of words in a file. The words should be separated by a newline. Then run:
fpw -b words.txt
It will parse them and store the resultant Markov data inside the fpw script file itself so that you don't have to copy around multiple files. You read that right. It stores its data inside the same file holding its executable code.
Examples
Generate passwords from lowercase, uppercase, digit, and special characters:
> fpw -luds
Require at least one lowercase, uppercase, digit, and special character:
> fpw -LUDS
NLHh'nfSgV1@U;{q
Only digits:
> fpw -d
4261729641542628
Only certain characters:
> fpw -c u
uuuuuuuuuuuuuuuu
Make a short password:
> fpw 1
r
Make a long password:
> fpw 300
rM_DK'^kf3@^pg]ja!\p3nrV$TUhq*.x(GCZr)Qz%>hup-T!y@@6KW#]f](]b!R6w'C{!x>sEeYtQ*yY~).xI7-|-Y(\Lk;c4COr-jdyM=/D@w{|jmmHeFNL:JqXWgQ$J&N@sb0.$w9e('j^R:x"qcv7Y{-DQ!pmwi%UoT,F)WTL-Q._L-1U&".jr)J[g/n"8|-Vv3/S1Yr&zG}S"xv1?!iC_(?T.$tjX!d:<B|elY^UIe,xfnR+fldNiE}V33uYT3}>yAE3kR,){x+vJsP|vHnDZKH6'N\hV@}Boh.4)O!?
Require 6 digits and 3 special characters:
> fpw -D 6 -S 3
SK374-{Y5y2Wty3-
6 high unicode range passwords:
> fpw -zn 6
୳↥ѐḒृ₮⇉O2ޝ☀แݾ࢙ቦ
♝⇧ᑙᘒଥȨണቁᢔዅ✀ᳫܡᇤ
ຟക᭫ᢱᾞẠᬩ❷∴ᾘ✋Ṋឧ৹ཡ
ᮀᓴಙᳫaᯍ┐╝ᒨ℁ڛ܂ฃఎ֞
ࡰ⎪⍜✐͊ಪDZ⊯ᯒ◬ყӽѦଁ
○ܠᕲ༖ᨱʤᧁΩ፭နཟϳ⎬
5 vaguely human pronounceable passwords:
> fpw -pn 5
eidbloneseandune
rintrsscaphatind
onionsalatrytoki
pharocagnossshyd
dititesindeseses
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fpw-0.6.0.tar.gz.
File metadata
- Download URL: fpw-0.6.0.tar.gz
- Upload date:
- Size: 11.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c269274f96eebcb67372284fe11ef5054932510c94974cd471b222cd8af4bad
|
|
| MD5 |
132d17e634253c2887d1f1c341a3803e
|
|
| BLAKE2b-256 |
37bd610d292a9199ba35dccca299d3f2bdf4f701f45e18ad36de5cdbc13029d3
|
File details
Details for the file fpw-0.6.0-py3-none-any.whl.
File metadata
- Download URL: fpw-0.6.0-py3-none-any.whl
- Upload date:
- Size: 10.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a827f6d8305c7d5c3c6dca9470f524253513c925e012553f9f4323951974b63a
|
|
| MD5 |
e03257266204d4514f3e84648f569ad3
|
|
| BLAKE2b-256 |
5fe56cb5416b4337de554e1278059aadb674971ded1527340bf59eef5fa24cef
|