Skip to main content

Passwords easy for humans, hard for computers

Project description

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

Uploaded Source

Built Distribution

passwordgenerator-1.0.4-py2.py3-none-any.whl (94.2 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

File hashes

Hashes for passwordgenerator-1.0.4.tar.gz
Algorithm Hash digest
SHA256 31ad56725374aeda420b8a9e8464f5abf58c42196afa1c630471188a20725128
MD5 3830dd42a9b2d113ab01ba66726c27cf
BLAKE2b-256 29973842e86cfd93233e924cbfe30ec2a035540dcbc6aac57dc0ae2630da79e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passwordgenerator-1.0.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ca192a9beae8cbb366c64a3eb7f9b27add65b79ca01f1f11543fe10e5ad1c6b6
MD5 34472f332f095c3978aa917202bfb284
BLAKE2b-256 8c11f2bfd9dadea951f1cb4abd682ec6c2af40511b99fe22f3f39a57907acb45

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