Simple entropy password validator.
Project description
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9424ff845c7590ae4a3c68f719d6ede77983a4d96b4993e1c5b8159d190ae812 |
|
MD5 | fc72044a952a8f28f5972cf578ccf520 |
|
BLAKE2b-256 | bf73862489d482fd32f245d4adfc50208b874dc8c3286ad02a56b8d4b3b548b8 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5da0afba971dce80f76ebe8b0fb460259d7f844243296e2a1f3d18889e0526cb |
|
MD5 | 043e4171e0b61134f9de46bb58e39777 |
|
BLAKE2b-256 | a5516626e33344d6fd24e5dbd82ddf70460e415ebad2453176564008c825e3a7 |