A bad password generator for bad websites with bad password policies
Project description
To create and remember passwords for online services, the best practice for most folks online is to use a password management tool such as Bitwarden to generate long, cryptographically random passwords. Then, a very strong passphrase is used to lock the password manager.
Unfortunately, in a misguided attempt to encourage users to choose better passwords, many websites and apps enforce restrictive password policies. These policies inhibit users from using cryptographically random password generators: a long, high-entropy password is more likely to violate such rules, which means a security-savvy user may have to attempt several “random” passwords before one is accepted. This punishes users who are trying to follow best practices.
Enter dumbpw. dumbpw allows you to configure a set of rules, and then it will generate a cryptographically secure password that conforms to those dumb rules.
If all you need is a password generator, you should not use this.
Installation
uv tool install dumbpw
Usage
$ dumbpw --help
Usage: dumbpw [OPTIONS] LENGTH
Generate a secure password conforming to dumb rules.
Options:
--version Show the version and exit.
--min-uppercase INTEGER The minimum number of uppercase characters.
[default: 1]
--min-lowercase INTEGER The minimum number of lowercase characters.
[default: 1]
--min-digits INTEGER The minimum number of digit characters.
[default: 1]
--min-specials INTEGER The minimum number of special characters.
[default: 0]
--blocklist TEXT Characters that may not be in the password.
[default: '";]
--allow-repeating / --reject-repeating
Allow or reject repeating characters in the
password. [default: reject-repeating]
--specials TEXT Non-alphanumeric characters that may be in
the password. Pass '-' to read from standard
input.
--help Show this message and exit.
⚠️ Caveats
The author is neither a cryptographer, nor a security expert. There has been no formal, independent, external security review of this software. As explained in the LICENSE, the author assumes no responsibility or liability for your use of this software.
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 dumbpw-1.0.5.tar.gz.
File metadata
- Download URL: dumbpw-1.0.5.tar.gz
- Upload date:
- Size: 10.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.6 {"installer":{"name":"uv","version":"0.10.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
27af938a81ce4e10e300c2c57a9ec710eb0c4e99f55133747906391f16d2b1ac
|
|
| MD5 |
92d6c4b841911c26f9d7087d62ca1418
|
|
| BLAKE2b-256 |
0af402556365c4e313ea1ce0cf0d4fefff63b9148cb9a3aa072433ed8aca69f1
|
File details
Details for the file dumbpw-1.0.5-py3-none-any.whl.
File metadata
- Download URL: dumbpw-1.0.5-py3-none-any.whl
- Upload date:
- Size: 12.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.6 {"installer":{"name":"uv","version":"0.10.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
675d84f37709f5b957bfb6c816937325bbc3f937c29e1dce4aad07b66555982f
|
|
| MD5 |
d574313b9bd70264144b50b7c93491cc
|
|
| BLAKE2b-256 |
e118604a2179837762d934d193acb4feda20fb4fb57c6cea1b55c57f4b8f8692
|