Project index
ResearchpublicCryptography & Password Security

Cryptographic hashing & attack simulation toolkit

HashAttackDemos

HashAttackDemos is a Python security research toolkit and educational library (hash_password_cracker) designed to demonstrate password protection best practices and failure modes. It implements standard hashing workflows across modern memory-hard and compute-intensive algorithms — Argon2id, bcrypt, and scrypt — with configurable cost factors, salt lengths, and redacted JSON audit logging. Alongside defense mechanisms, the toolkit models realistic offensive attack paths: dictionary brute-forcing against salted hashes, MD5 rainbow table generation and lookups, and hybrid multi-algorithm cracking pipelines.

HashAttackDemos terminal showing unified CLI commands for password hashing, dictionary attacks, and rainbow table lookups.

Problem

Many developers struggle to conceptualize why legacy hash functions like MD5/SHA-1 are trivial to reverse, or how work factors in Argon2id, bcrypt, and scrypt counteract GPU acceleration and rainbow tables.

Solution

A transparent, well-documented Python library and CLI suite that provides interactive hash generators, attack simulators, and benchmark comparisons to teach password defense hands-on.

Outcome

A complete educational cryptography codebase demonstrating Python package architecture, Argon2/bcrypt/scrypt implementations, offensive simulation mechanics, and CI test suites.

Standout Features

  • Modern password hashing engines: Argon2id (memory-hard), bcrypt (adaptive), and scrypt (cost factors)
  • Attack simulation modules: dictionary wordlist attacks, MD5 rainbow table builders, and hybrid cracking
  • Unified CLI interface with parameter tuning for time/memory cost, salt lengths, and redacted JSON exports
  • Comprehensive test suite with GitHub Actions CI verifying cryptographic correctness

Stack & Signals

  • Python 3.8+
  • Argon2-cffi
  • Bcrypt
  • Hashlib
  • Pytest
  • GitHub Actions

Canonical destination

github.com/SagarBiswas-MultiHAT/HashAttackDemos

View on GitHub