Skip to main content

A bad password generator for bad websites with bad password policies

Project description

LANGUAGE VERSION LICENSE MAINTAINED CIRCLECI MAINTAINABILITY STYLE

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 have very bad password policies that place restrictions on what sorts of characters must be (or may not be) in a password. These policies inhibit users from using cryptographically random password generators. In fact, 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.

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

pip3 install dumbpw

Usage

$ dumbpw -h
Usage: dumbpw [OPTIONS]

Options:
--length INTEGER RANGE  The length of the password.  [1<=x<=512]
--uppercase INTEGER     The minimum number of uppercase characters.
--lowercase INTEGER     The minimum number of lowercase characters.
--digits INTEGER        The minimum number of digit characters.
--specials INTEGER      The minimum number of special characters.
--blocklist TEXT        Characters that may not be in the password.
                        [default: '";]
--help                  Show this message and exit.

dumbpw uses secrets to generate passwords.

Development

To install development dependencies, you will need poetry and pre-commit.

pre-commit install --install-hooks
poetry install && poetry shell

direnv is optional, but recommended for convenience.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dumbpw-0.3.0.tar.gz (11.6 kB view hashes)

Uploaded Source

Built Distribution

dumbpw-0.3.0-py3-none-any.whl (11.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page