Cybersecurity-Projects/PROJECTS/beginner/hash-cracker
CarterPerez-dev efdfacdb55 feat: install.sh, Justfile, and README for zero-friction setup
install.sh detects package manager and installs all dependencies.
Justfile provides build, test, run, and clean commands.
README follows repo convention with ASCII banner and badges.
2026-03-22 10:46:14 -04:00
..
src feat: Engine, ThreadPool, and Progress display 2026-03-22 10:29:06 -04:00
tests feat: Engine, ThreadPool, and Progress display 2026-03-22 10:29:06 -04:00
.clang-format feat: project scaffolding with CMake, configs, stubs, and core types 2026-03-21 19:37:20 -04:00
.clang-tidy feat: project scaffolding with CMake, configs, stubs, and core types 2026-03-21 19:37:20 -04:00
.gitignore feat: project scaffolding with CMake, configs, stubs, and core types 2026-03-21 19:37:20 -04:00
CMakeLists.txt feat: all attack strategies (dictionary, brute-force, rules) 2026-03-22 09:25:09 -04:00
CMakePresets.json feat: project scaffolding with CMake, configs, stubs, and core types 2026-03-21 19:37:20 -04:00
Justfile feat: install.sh, Justfile, and README for zero-friction setup 2026-03-22 10:46:14 -04:00
README.md feat: install.sh, Justfile, and README for zero-friction setup 2026-03-22 10:46:14 -04:00
install.sh feat: install.sh, Justfile, and README for zero-friction setup 2026-03-22 10:46:14 -04:00
main.cpp feat: CLI with Boost.program_options and hash type dispatch 2026-03-22 10:39:07 -04:00

README.md

██╗  ██╗ █████╗ ███████╗██╗  ██╗ ██████╗██████╗  █████╗  ██████╗██╗  ██╗███████╗██████╗
██║  ██║██╔══██╗██╔════╝██║  ██║██╔════╝██╔══██╗██╔══██╗██╔════╝██║ ██╔╝██╔════╝██╔══██╗
███████║███████║███████╗███████║██║     ██████╔╝███████║██║     █████╔╝ █████╗  ██████╔╝
██╔══██║██╔══██║╚════██║██╔══██║██║     ██╔══██╗██╔══██║██║     ██╔═██╗ ██╔══╝  ██╔══██╗
██║  ██║██║  ██║███████║██║  ██║╚██████╗██║  ██║██║  ██║╚██████╗██║  ██╗███████╗██║  ██║
╚═╝  ╚═╝╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝ ╚═════╝╚═╝  ╚═╝╚═╝  ╚═╝ ╚═════╝╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝

Cybersecurity Projects C++ License: AGPLv3

Multi-threaded hash cracking tool with dictionary, brute-force, and rule-based mutation attacks.

This is a quick overview — security theory, architecture, and full walkthroughs are in the learn modules.

What It Does

  • Crack MD5, SHA1, SHA256, and SHA512 hashes with auto-detection from hash length
  • Dictionary attacks using memory-mapped wordlists for zero-copy large file handling
  • Brute-force attacks with configurable character sets and keyspace partitioning
  • Rule-based mutations (capitalize, leet speak, digit append, reverse, toggle case)
  • Multi-threaded with zero-contention work partitioning across all CPU cores
  • Salt support with prepend/append positioning
  • Rich terminal progress display with speed, ETA, and progress bar

Quick Start

./install.sh
hashcracker --hash <hash> --wordlist /path/to/rockyou.txt

[!TIP] This project uses just as a command runner. Type just to see all available commands.

Install: curl -sSf https://just.systems/install.sh | bash -s -- --to ~/.local/bin

Commands

Command Description
hashcracker --hash <h> --wordlist <path> Dictionary attack against a hash
hashcracker --hash <h> --bruteforce --charset lower,digits Brute-force with character set
hashcracker --hash <h> --wordlist <path> --rules Dictionary + mutation rules
hashcracker --hash <h> --wordlist <path> --salt <s> Crack salted hash
hashcracker --help Show all options

Learn

This project includes step-by-step learning materials covering security theory, architecture, and implementation.

Module Topic
00 - Overview Prerequisites and quick start
01 - Concepts Security theory and real-world breaches
02 - Architecture System design and data flow
03 - Implementation Code walkthrough
04 - Challenges Extension ideas and exercises

License

AGPL 3.0