Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

PassMeter

A Julia tool to measure password strength using combinatorics and entropy.

🔐 Password Strength Analyzer

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.


✨ Features

  • 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 Weak
    • Weak
    • Moderate
    • Strong
    • Very Strong
  • Pure Julia: Leverages Julia's speed for heavy mathematical computations.

🧮 The Math Behind It

The total number of possible combinations for a password is calculated as:

$$TotalCombinations = (CharacterSetSize)^{Length}$$

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:

$$TimeToCrack = TotalCombinations / GuessesPerSecond$$

🚀 Getting Started

Prerequisites

Installation

  1. Clone the repository (or just download the file):
git clone https://github.com/Arad883/PassMeter.git

Usage

Simply call the function with your password:

password_strength("your_password_here")

📊 Example Output

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" => 10000

Input:

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.8e17

📜 License

MIT License - Feel free to use, modify, and distribute.


👨‍💻 Author

Arad - Cybersecurity Developer | Julia & Python Enthusiast

"In the world of zeros and ones, math is the ultimate firewall."

About

A Julia tool to measure password strength using combinatorics and entropy.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages