Skip to content

Python tool for passwords attacks (dictionary/bruteforce) and analysing password strength using Entropy values

Notifications You must be signed in to change notification settings

Tan-JunWei/Password-Cracking-Strength-Analysis-Tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Password Cracking & Strength Analysis Tool

This project simulates various password cracking techniques to provide a realistic assessment of password security. Unlike conventional password checkers, which only evaluate password complexity based on rules, this tool tests passwords against real-world cracking methods, offering practical insights into password strength.

Screenshot of Password Cracking

Main Page

Features

Multi-Method Cracking Simulation

  • Dictionary Attack: Tests passwords against a wordlist (E.g. rockyou.txt) by hashing each word and comparing it with the target password hash.
  • Brute Force Attack: Generates possible alphanumeric passwords within the specified range of lengths to match the hashed password. Special characters (E.g. #, *, ?) may also be used by modifying the character set.
Screenshot of Password Cracking

Example of Password Cracking

Password Strength Analysis

  • Entropy Calculation: Uses password entropy formula to evaluate password strength in bits based on its length and character variety (E.g. digits, uppercase/lowercase characters).

The entropy is calculated as:

$$ E = \log_2(R^L) $$

Where:

  • ( R ): Range of possible characters.
  • ( L ): Length of the password.

How is R calculated?

The table below shows how Range Size, R is calculated. Do note that this table only shows the most important pools.

Character Type Example(s) Range Size
Numerics 0, 1, 2, 3 10
Latin letters (lowercase) a, b, c, d 26
Latin letters (uppercase) A, B, C, D 26
Special symbols !, *, $, % 32

For example, if a password contains Numerics, lowercase letters, uppercase letters and special symbols, the value of R will be 10 + 26 + 26 + 32 = 94.

What does Password Entropy relate to password strength?

The more bits of entropy a password has, the stronger (and less crackable) it is.

Detailed Feedback

  • Estimated Time to Crack: Outputs the time taken for each attack and the total number of attempts made.

Installation

  1. Clone the repository:
git clone <link>
  1. Install dependencies:
pip install -r requirements.txt
  1. Run the tool:
python password_analysis.py

About

Python tool for passwords attacks (dictionary/bruteforce) and analysing password strength using Entropy values

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages