Modular toolkit for encoding, hashing, and cracking.
npm install hashsmith-cli`` / __| '_ \\___ \| '_
_ _ _ ____ _ _ _
| | | | __ _ ___| |__ / ___| _ __ ___ (_) |_| |__
| |_| |/ _ _ \| | __| '_ \`
| _ | (_| \__ \ | | |___) | | | | | | | |_| | | |
|_| |_|\__,_|___/_| |_|____/|_| |_| |_|_|\__|_| |_|
Hashsmith is a modular, terminal-first toolkit for encoding, decoding, hashing, cracking, and identification. Itβs designed for security-focused workflows, quick experiments, and automation in scripts or pipelines.
From source
`bash`
pip install -r requirements.txt
Run as module
`bash`
python -m hashsmith --help
bash
hashsmith encode -t base64 -i "hello"
hashsmith decode -t base64 -i "aGVsbG8="
hashsmith hash -t sha256 -i "secret" -c
hashsmith identify -i "aGVsbG8="
`Global Options π‘οΈ
- -N, --no-banner: Disable banner
- -T, --theme: Accent color (cyan, green, magenta, blue, yellow, red, white)
- -A, --help-all: Show help for all commands
- -id, --identify: Shortcut for identify (use with -i/-f)Common Input/Output Options π§¬
These options are shared across commands that accept input and output:
- -i, --text: Text input
- -f, --file: Read input from file
- -o, --out: Write output to file
- -c, --copy: Copy output to clipboardCommands π‘οΈ
$3
Encode text with a selected algorithm.Usage
`bash
hashsmith encode -t [-i | -f ] [-o ] [-c]
`Examples
`bash
hashsmith encode -t base64 -i "hello"
hashsmith encode -t caesar -s 5 -f input.txt -o output.txt
hashsmith encode -t hex -i "hello" -c
`---
$3
Decode text with a selected algorithm.Usage
`bash
hashsmith decode -t [-i | -f ] [-o ] [-c]
`Examples
`bash
hashsmith decode -t base64 -i "aGVsbG8="
hashsmith decode -t morse -i ".... . .-.. .-.. ---"
hashsmith decode -t hex -i "68656c6c6f" -c
`---
$3
Hash text using a selected algorithm.Usage
`bash
hashsmith hash -t [-i | -f ] [--salt ] [--salt-mode prefix|suffix] [-o ] [-c]
`Examples
`bash
hashsmith hash -t sha256 -i "hello"
hashsmith hash -t md5 -i "secret" -s "pepper" -S suffix
hashsmith hash -t sha256 -i "hello" -c
`---
$3
Crack hashes using dictionary or brute-force attacks.Usage
`bash
hashsmith crack -t -H -M [options]
`Examples
`bash
hashsmith crack -t md5 -H 5f4dcc3b5aa765d61d8327deb882cf99 -M dict -w wordlists/common.txt
hashsmith crack -t sha1 -H 2aae6c35c94fcfb415dbe95f408b9ce91ee846ed -M brute -n 1 -x 4
hashsmith crack -t md5 -H 5f4dcc3b5aa765d61d8327deb882cf99 -M dict -w wordlists/common.txt -c
`---
$3
Detect probable encoding and hash types. Prioritizes reliable results and avoids false positives for raw text.Usage
`bash
hashsmith identify -i
hashsmith identify -f
hashsmith -id -i
`Examples
`bash
hashsmith identify -i "aGVsbG8="
hashsmith identify -i 5f4dcc3b5aa765d61d8327deb882cf99
hashsmith -id -i "aGVsbG8="
`---
$3
Guided prompt flow for encoding/decoding/hashing/cracking/identify.Usage
`bash
hashsmith
hashsmith interactive
`Algorithms π
$3
| Category | Algorithms |
| --- | --- |
| Cryptographic | md5, md4, sha1, sha224, sha256, sha384, sha512, sha3_224, sha3_256, sha3_512 |
| Modern/Alt | blake2b, blake2s, ntlm, mysql323, mysql41 |
| Password | bcrypt, argon2, scrypt, mssql2000, mssql2005, mssql2012, postgres |$3
| Category | Algorithms |
| --- | --- |
| Base Encodings | base64, base64url, base32, base85, base58 |
| Numeric | hex, binary, decimal, octal |
| Text/URL | morse, url, unicode |
| Ciphers | caesar, rot13, vigenere, xor, atbash, baconian, leet, reverse, railfence, polybius |
| Esoteric | brainf*ck |$3
| Mode | Description |
| --- | --- |
| dict | Dictionary attack using a wordlist |
| brute | Brute-force with a chosen charset and length range |Clipboard Support π
When -c/--copy is set, output is copied to the clipboard using platform-native tools:
- macOS: pbcopy
- Windows: clip
- Linux: xclip, xsel, or wl-copyThemes π‘οΈ
Set the accent color globally:
`bash
hashsmith -T magenta
`Troubleshooting π§¬
- If hashing output in base58 fails, ensure the hash is hex-based.
- For dictionary cracking, validate your wordlist path.Security Notice π‘οΈ
Hashsmith is intended for educational and authorized security testing only. You are responsible for compliance with applicable laws.License
See LICENSE.
Hashsmith is a modular, terminal-based Swiss Army knife for encoding, decoding, hashing, and password cracking. Built for security enthusiasts π οΈπFeatures
- Encoding/Decoding: Base64, Hex, Binary, Morse, URL, Caesar, ROT13
- Hashing: MD5, SHA-1, SHA-256, SHA-512
- Cracking: Dictionary attack and basic brute-force
- File input/output support
- Optional salt support for hashing and crackingInstallation
1. Create a virtual environment (optional)
2. Install dependencies:`
pip install -r requirements.txt
`Usage
Run via module:`
python -m hashsmith --help
`$3
`
python -m hashsmith encode --type base64 --text "hello"
python -m hashsmith encode --type caesar --shift 5 --file input.txt --out output.txt
python -m hashsmith encode --type hex --text "hello" --copy
`$3
`
python -m hashsmith decode --type base64 --text "aGVsbG8="
python -m hashsmith decode --type morse --text ".... . .-.. .-.. ---"
python -m hashsmith decode --type hex --text "68656c6c6f" --copy
`$3
`
python -m hashsmith hash --type sha256 --text "hello"
python -m hashsmith hash --type md5 --text "secret" --salt "pepper" --salt-mode suffix
python -m hashsmith hash --type sha256 --text "hello" --copy
`$3
`
python -m hashsmith crack --type md5 --hash 5f4dcc3b5aa765d61d8327deb882cf99 --mode dict --wordlist wordlists/common.txt
python -m hashsmith crack --type sha1 --hash 2aae6c35c94fcfb415dbe95f408b9ce91ee846ed --mode brute --min-len 1 --max-len 4
python -m hashsmith crack --type md5 --hash 5f4dcc3b5aa765d61d8327deb882cf99 --mode dict --wordlist wordlists/common.txt --copy
`Notes
- Dictionary cracking uses the provided wordlist file.
- Brute-force is intentionally small by default; adjust --min-len and --max-len` carefully.