Skip to content

πŸ” Educational project demonstrating password security concepts: hashing (MD5, SHA256, SHA512, bcrypt), salting, and simple cracking (dictionary & brute force). Includes clean Python code, examples, docs, and tests to help students learn secure password handling basics.

CodeWithTanim/Password-Cracking-and-Hashing-Algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Password Cracking and Hashing Algorithms πŸ”

Hashing Project Banner

πŸ›‘οΈ Password Cracking & Hashing Algorithms πŸš€

Internship Project for Codec Technologies
Learn, implement, and test password security algorithms in Python! ⚑
Covers MD5, SHA-256, SHA-512, bcrypt, salting, and password cracking (dictionary & brute force).
Tech Stack: Python, Hashlib, Bcrypt, Pytest


🧠 Introduction

Developed as part of my internship with Codec Technologies, this project provides hands-on implementations of password hashing & cracking techniques.
It demonstrates secure hashing (with & without salting) and showcases how password cracking is attempted using brute force and dictionary attacks.


πŸ“¦ Features

  • πŸ”’ Hashing Algorithms – MD5, SHA-256, SHA-512, bcrypt
  • πŸ§‚ Salting – Protect against rainbow table attacks
  • πŸͺ“ Password Cracking – Brute-force & dictionary-based methods
  • πŸ“‚ Examples Included – Easy-to-run demo scripts
  • πŸ§ͺ Unit Tests – Verify correctness of hashing & cracking functions
  • πŸ“ Well-Structured Project – Clean and modular codebase

πŸ› οΈ Technologies Used

Python Bcrypt Pytest


πŸš€ How to Run the Project?

βœ… Prerequisites:

  • Python 3.8+
  • Virtual environment (recommended)

πŸ› οΈ Setup:

# Clone and setup
git clone https://github.com/CodeWithTanim/Password-Cracking-and-Hashing-Algorithms.git
cd Password-Cracking-and-Hashing-Algorithms

# Install dependencies
pip install -r requirements.txt

# Run example scripts
python -m examples.demo_hashing
python -m examples.demo_salting
python -m examples.demo_cracker

πŸ—‚οΈ Project Structure

Password-Cracking-and-Hashing-Algorithms/
β”‚
β”œβ”€β”€ docs/                             ← Documentation
β”‚   β”œβ”€β”€ project_overview.md
β”‚   β”œβ”€β”€ algorithm_explanations.md
β”‚   └── screenshots/
β”‚       β”œβ”€β”€ hash_demo.png
β”‚       β”œβ”€β”€ crack_demo.png
β”‚       └── salted_hash.png
β”‚
β”œβ”€β”€ src/                              ← Core Implementation
β”‚   β”œβ”€β”€ hash_functions.py             ← MD5, SHA256, SHA512, bcrypt
β”‚   β”œβ”€β”€ salting.py                    ← Salting & secure hashing
β”‚   β”œβ”€β”€ password_cracker.py           ← Brute force & dictionary attack
β”‚   └── utils.py                      ← Helper functions
β”‚
β”œβ”€β”€ examples/                         ← Demo Scripts
β”‚   β”œβ”€β”€ demo_hashing.py
β”‚   β”œβ”€β”€ demo_salting.py
β”‚   └── demo_cracker.py
β”‚
β”œβ”€β”€ tests/                            ← Unit tests
β”œβ”€β”€ requirements.txt                  ← Dependencies
└── README.md

🌟 Key Learnings (Internship)

  • Understood password hashing algorithms (MD5, SHA, bcrypt)
  • Learned how salting enhances password security
  • Implemented brute force and dictionary cracking in Python
  • Gained insights into ethical hacking & password protection
  • Improved debugging and testing skills with Pytest

✍️ Developer

MD SAMIUR RAHMAN TANIM Intern at Codec Technologies πŸ”— GitHub | LinkedIn


πŸ“œ Acknowledgments

  • Thanks to Codec Technologies for the internship opportunity
  • Python’s hashlib and bcrypt library maintainers
  • Open-source security & ethical hacking community

🀝 Contribute

Pull requests are welcome! If you find bugs, improvements, or want to add more algorithms (like PBKDF2, Argon2, Scrypt), feel free to fork and submit a PR.


πŸ“‘ Connect With Me:

Facebook Instagram YouTube

```

About

πŸ” Educational project demonstrating password security concepts: hashing (MD5, SHA256, SHA512, bcrypt), salting, and simple cracking (dictionary & brute force). Includes clean Python code, examples, docs, and tests to help students learn secure password handling basics.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages