Skip to main content

A bad password generator for bad websites with bad password policies

Project description

LANGUAGE VERSION build status MAINTAINED LICENSE 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 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


Download files

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

Source Distribution

dumbpw-1.0.5.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dumbpw-1.0.5-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

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

Hashes for dumbpw-1.0.5.tar.gz
Algorithm Hash digest
SHA256 27af938a81ce4e10e300c2c57a9ec710eb0c4e99f55133747906391f16d2b1ac
MD5 92d6c4b841911c26f9d7087d62ca1418
BLAKE2b-256 0af402556365c4e313ea1ce0cf0d4fefff63b9148cb9a3aa072433ed8aca69f1

See more details on using hashes here.

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

Hashes for dumbpw-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 675d84f37709f5b957bfb6c816937325bbc3f937c29e1dce4aad07b66555982f
MD5 d574313b9bd70264144b50b7c93491cc
BLAKE2b-256 e118604a2179837762d934d193acb4feda20fb4fb57c6cea1b55c57f4b8f8692

See more details on using hashes here.

Supported by

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