Skip to main content

Simple entropy password validator.

Project description

Enpass

Enpass is a simple password entropy strength validator

This project can be used to validate a password strength. Designed to be lightweight with the following benefits:

  • No external API calls
  • No large data sets
  • Focused entirely on raw entropy values
  • More flexible (doesn't require uppercase, numbers, special characters)

Installation

pip install enpass

Quick Start

calc_entropy calculates the entropy of a password in bits.

Entropy equation = log2(B^L) B = Base; L = Length

    import enpass as ep

    password = 'P@SSW0RD!'

    #Calculates the entropy of a password in bits.
    entropy = ep.calc_entopy(password)

validate checks if the password's entropy meets the specified minimum requirement.

Passwords should ideally be > 60. Great Passwords should be between 70-90.

    min_entropy = 60.0
    # Checks if the password's entropy meets the specified minimum requirement.
    validate = ep.validate(entropy, min_entropy)

estimate_bruteforce_time assumes that cracking time scales linearly with the number of possible combinations.

While this might hold for straightforward brute-force attacks, more sophisticated attacks, such as dictionary attacks or those exploiting weaknesses in password hashing algorithms, may have different time complexities.

    guesses_per_second = 100_000_000
    # Estimates the amount of time required to brute-force a password 
    time_brute_estimate = ep.estimate_bruteforce_time(entropy, guesses_per_second)

Roadmap

  • Entropy Calculator
  • Brute-Force Estimate
  • Scoring
  • Feedback
  • Throttling/Hashing Brute-Force Estimate
  • Character Sequences

Contributing

Contributions are welcome!

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

enpass-0.1.2.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

enpass-0.1.2-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

Details for the file enpass-0.1.2.tar.gz.

File metadata

  • Download URL: enpass-0.1.2.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for enpass-0.1.2.tar.gz
Algorithm Hash digest
SHA256 9424ff845c7590ae4a3c68f719d6ede77983a4d96b4993e1c5b8159d190ae812
MD5 fc72044a952a8f28f5972cf578ccf520
BLAKE2b-256 bf73862489d482fd32f245d4adfc50208b874dc8c3286ad02a56b8d4b3b548b8

See more details on using hashes here.

File details

Details for the file enpass-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: enpass-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 4.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for enpass-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5da0afba971dce80f76ebe8b0fb460259d7f844243296e2a1f3d18889e0526cb
MD5 043e4171e0b61134f9de46bb58e39777
BLAKE2b-256 a5516626e33344d6fd24e5dbd82ddf70460e415ebad2453176564008c825e3a7

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