hashcrack
Hash identification and lookup tool for CTF and security research.
hashcrack is a fast, feature-rich CLI tool for hash analysis in CTF competitions and security research. It auto-detects hash types (MD5, SHA-1, SHA-256, bcrypt, NTLM, and 20+ more), queries public hash databases, performs wordlist attacks, generates hashes, and provides deep statistical analysis — all with beautiful terminal output powered by Rich.
- Auto-detection — identifies 20+ hash types from MD5 to Argon2, bcrypt, NTLM, and scrypt
- Online lookup — queries multiple public hash cracking APIs simultaneously
- Wordlist attack — crack hashes locally using any wordlist (e.g. rockyou.txt)
- Hash generation — compute MD5, SHA-1, SHA-256, SHA-512, BLAKE2 and more in one command
- Batch mode — process hundreds of hashes from a file with optional auto-lookup
- Verification — confirm plaintext/hash pairs across all supported algorithms
- Deep analysis — entropy calculation, charset analysis, and type classification
- JSON output — every command supports
--jsonfor scripting and piping
Installation
pip install hashcrack-cli
Or install from source:
git clone https://github.com/shazeus/hashcrack
cd hashcrack
pip install -e .
Usage
# Identify a hash type
hashcrack identify 5d41402abc4b2a76b9719d911017c592
# Look up plaintext via public APIs
hashcrack lookup 5d41402abc4b2a76b9719d911017c592
# Generate hashes
hashcrack generate "hello world"
hashcrack generate "secret" --algo md5 --algo sha256
# Crack with a wordlist
hashcrack wordlist rockyou.txt 5d41402abc4b2a76b9719d911017c592
# Batch process hashes from a file
hashcrack batch hashes.txt --lookup
# Verify plaintext against hash
hashcrack verify 5d41402abc4b2a76b9719d911017c592 "hello"
# Deep analysis
hashcrack analyze 5d41402abc4b2a76b9719d911017c592
# List all supported hash types
hashcrack info
Commands
| Command | Description |
|---|---|
identify <hash> |
Auto-detect the type(s) of a hash |
lookup <hash> |
Query public databases for the plaintext |
generate <text> |
Generate hashes for a string (all algorithms or specific ones) |
wordlist <file> <hash> |
Crack a hash using a local wordlist |
batch <file> |
Process multiple hashes from a file |
verify <hash> <plaintext> |
Confirm a hash/plaintext pair |
analyze <hash> |
Full analysis: type + lookup + entropy + charset |
info [type] |
Show details for a hash type, or list all supported types |
Configuration
All commands support these global options:
| Flag | Description |
|---|---|
--json |
Output results as JSON for scripting |
-q / --quiet |
Minimal output (useful in scripts) |
-h / --help |
Show help for any command |
-V / --version |
Show version |
Supported Hash Types
MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA3-256, SHA3-512, NTLM, LM Hash, bcrypt, Argon2, scrypt, MD5 Crypt, SHA-512 Crypt, RIPEMD-160, BLAKE2b, BLAKE2s, CRC32, Adler32, Tiger-192, Haval-256, MySQL4/5, Whirlpool, Base64
License
MIT — see LICENSE.
Metadata
Release files for hashcrack-cli 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hashcrack_cli-0.1.1.tar.gz | 15.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hashcrack_cli-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.1 kB
Release files / hashcrack_cli-0.1.1.tar.gz
| Download URL | hashcrack_cli-0.1.1.tar.gz |
|---|---|
| Size | 15.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
071673cfdb28dade128eadbd4b90aaf36cbb2da223ff787d8011111063b29977
|
|
BLAKE2b-256 checksum How to use checksums |
7f3d133c9b58583fdf888a461a983de2e4fa168e72af8e705b570eb5a45485dd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Release files / hashcrack_cli-0.1.1-py3-none-any.whl
| Download URL | hashcrack_cli-0.1.1-py3-none-any.whl |
|---|---|
| Size | 14.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
90a1567be88ffd23c0690a9f7a839546c2246f3b72301a6950acd8418e036af8
|
|
BLAKE2b-256 checksum How to use checksums |
097422d9c2a5342dd5d52846831aa8ae738ad2a35055090d127425fd0de2e527
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|