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

    from enpass import *

    password = 'P@SSW0RD!'

    #Calculates the entropy of a password in bits.
    entropy = enpass.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 = enpass.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 = enpass.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.0.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: enpass-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 25c651e300d8db3f3990412041b48b7118dda724e1e339f12a781d74b5ec26a8
MD5 2b6ae09eef3c1ce89240bbed83c6389f
BLAKE2b-256 6aac12ba7c5e7dccba23447effe6ab74f1f404777a87debca228d187f286f2d8

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: enpass-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c0556f021bfb8d6c618f6e49055a984989fa85d27b962b71fb2c3e84e137cd08
MD5 32361bef05410867f71ca6fa47065c98
BLAKE2b-256 ca95067e10ad1c24ff1ab6abde28f954916e343c8c43f3e9b14848e3ac388229

See more details on using hashes here.

Provenance

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