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.4.tar.gz (92.8 kB view details)

Uploaded Source

Built Distribution

passwordgenerator-1.4-py2.py3-none-any.whl (92.8 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: passwordgenerator-1.4.tar.gz
  • Upload date:
  • Size: 92.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for passwordgenerator-1.4.tar.gz
Algorithm Hash digest
SHA256 3599e3e457948b0838d881472a13b0ff9c765e3ecb66caffca66548a81c3a174
MD5 a7655413aae8880b0a5de2f2fc2d9def
BLAKE2b-256 0102f210e51a5e5d3d1270caa04e4146a097262c246cf0e748f9e3925e076923

See more details on using hashes here.

File details

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

File metadata

  • Download URL: passwordgenerator-1.4-py2.py3-none-any.whl
  • Upload date:
  • Size: 92.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for passwordgenerator-1.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 bc2aa44301d655603340fc6710d6349aa5b0133ae74ce7db4c32261a49342d7a
MD5 59664d8f4454c47c668918ad1d9912a3
BLAKE2b-256 c18c9cf3869dc0dea91f384ad13c13519cd9ba01ccd82bcf560b1aab6125f81a

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