Skip to main content

Passwords easy for humans, hard for computers

Project description

Pypi Build Status codecov MIT licensed

Description

A lot of people with security in mind will use random characters as passwords like t.J:YuZcTSB=4z*v. We feel it’s secure because it’s complicated. But the password above is as difficult as abcdefghijkl!123 for a machine to brute force even though it’s a lot easier for a user to remember.

This program attempts to create passwords truly difficult for a computer to brute force and easier to remember for a user.

Each password contains:

  • 3 words from the english dictionary

  • 1 random number placed at a random position

  • Random separators between words and numbers

It is very secure because…

  • Since words length differ, the password length is unpredictable

  • The separators change randomly

  • The position of the number change randomly

  • There are 32,000 (words) ^3 (number of words) ^10 (separator) ^10 (separator) ^10 (separator) ^1000 (numbers) different combinations possible

Examples

Here are a few passwords that can be generated:

Coaches_Acquires=Dumbbell_908
28=Haziness_Spatulas+Mortals
Knights;Decrypts%Oatcakes_320
Optimise=472+Deterred%Apricots
375+Hazy%Decorate%Ruler
Blotched%Dugout_995;Alkyl

Installation & usage

$> pip3 install passwordgenerator

$> passwordgenerator
844=Chinless=Jewelry+Consumer

Use within another Python script

>>> from passwordgenerator import pwgenerator

>>> pwgenerator.generate()
'676=Layers*Bugbear_Escapes'

Advanced options

passwordgenerator [-h] [-n MIN_WORD_LENGTH] [-x MAX_WORD_LENGTH]
                  [-i MAX_INT_VALUE] [-e NUMBER_OF_ELEMENTS] [-s]

optional arguments:
  -h, --help            show this help message and exit
  -n MIN_WORD_LENGTH, --min_word_length MIN_WORD_LENGTH
                        Minimum length for each word
  -x MAX_WORD_LENGTH, --max_word_length MAX_WORD_LENGTH
                        Maximum length for each word
  -i MAX_INT_VALUE, --max_int_value MAX_INT_VALUE
                        Maximum value for the integer
  -e NUMBER_OF_ELEMENTS, --number_of_elements NUMBER_OF_ELEMENTS
                        Number of elements in the password (ie. 4 = 3 words +
                        1 integer)
  -s, --no_special_characters
                        Do not use special characters

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

passwordgenerator-1.5.1.tar.gz (93.2 kB view details)

Uploaded Source

Built Distribution

passwordgenerator-1.5.1-py2.py3-none-any.whl (92.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file passwordgenerator-1.5.1.tar.gz.

File metadata

  • Download URL: passwordgenerator-1.5.1.tar.gz
  • Upload date:
  • Size: 93.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.3

File hashes

Hashes for passwordgenerator-1.5.1.tar.gz
Algorithm Hash digest
SHA256 4cb80150c812ce1d76d36187d95765f7976dcc47628a7c8e03677f52b4341a5a
MD5 5e32e8dd3a17d541a45bec6e17ed85a8
BLAKE2b-256 60f0c6571fed3790dbb4fef5fc1ed7bbec1642961b7553487199703eabea653c

See more details on using hashes here.

File details

Details for the file passwordgenerator-1.5.1-py2.py3-none-any.whl.

File metadata

  • Download URL: passwordgenerator-1.5.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 92.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.3

File hashes

Hashes for passwordgenerator-1.5.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 d6d0265e4a5cb139edd27a47f9e78464f33b066f4f283bb622fe2b32e2e3999c
MD5 90be42290e3b103ee99d26db7d5ba441
BLAKE2b-256 3a59b5962f72a2931559dfdddbd577969a3afd6b2980d562757f8e5e759558dd

See more details on using hashes here.

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