A Julia tool to measure password strength using combinatorics and entropy.
A lightweight, high-performance CLI tool written in Julia to evaluate password strength using Combinatorics and Information Theory.
Perfect for cybersecurity enthusiasts who want to understand the math behind brute-force attacks.
- Character Set Analysis: Detects uppercase, lowercase, digits, and special symbols.
- Brute-Force Time Estimation: Calculates the exact time required to crack the password (assuming 10 billion guesses/second).
- Strength Classification: Automatically categorizes passwords into:
Very WeakWeakModerateStrongVery Strong
- Pure Julia: Leverages Julia's speed for heavy mathematical computations.
The total number of possible combinations for a password is calculated as:
Where CharacterSetSize depends on the types of characters used:
- Lowercase letters (a-z): 26
- Uppercase letters (A-Z): 26
- Digits (0-9): 10
- Special characters (!@#$...): 32
The estimated cracking time is:
- Julia (v1.6 or higher)
- Clone the repository (or just download the file):
git clone https://github.com/Arad883/PassMeter.gitSimply call the function with your password:
password_strength("your_password_here")Input:
password_strength("1234")Output:
Dict{String, Any} with 4 entries:
"seconds_to_crack" => 1.0e-6 # (0.000001 seconds)
"strength" => "Very Weak"
"char_set_size" => 10
"total_combinations" => 10000Input:
password_strength("Aa1!@#$%")Output (Will be significantly stronger):
Dict{String, Any} with 4 entries:
"seconds_to_crack" => 2.8e7 # (approx. 324 days)
"strength" => "Strong"
"char_set_size" => 94
"total_combinations" => 2.8e17MIT License - Feel free to use, modify, and distribute.
Arad - Cybersecurity Developer | Julia & Python Enthusiast
"In the world of zeros and ones, math is the ultimate firewall."