Hash Tools Skill
Calculate cryptographic hashes for files and strings. Support for multiple algorithms and hash comparison.
When to Use
✅ USE this skill when:
-
"Calculate MD5/SHA hash of a file"
-
"Hash this string"
-
"Verify file integrity"
-
"Compare two files"
-
"Generate checksum"
-
"Find duplicate files"
When NOT to Use
❌ DON'T use this skill when:
-
Encrypt/decrypt data → use encryption tools
-
Password hashing → use bcrypt/argon2
-
Digital signatures → use gpg/signing tools
Commands
File Hash
{baseDir}/hash.sh <algorithm> <file> {baseDir}/hash.sh md5 /path/to/file {baseDir}/hash.sh sha256 /path/to/file {baseDir}/hash.sh sha512 /path/to/file {baseDir}/hash.sh blake2b /path/to/file
String Hash
{baseDir}/hash.sh <algorithm> --string "text to hash" {baseDir}/hash.sh sha256 --string "hello world"
Hash All Files in Directory
{baseDir}/hash-dir.sh <algorithm> <directory> {baseDir}/hash-dir.sh sha256 ./my-files --output hashes.txt
Compare Files by Hash
{baseDir}/hash-compare.sh <file1> <file2> {baseDir}/hash-compare.sh file1.txt file2.txt --algorithm sha256
Verify Against Checksum
{baseDir}/hash-verify.sh <algorithm> <file> <expected-hash> {baseDir}/hash-verify.sh sha256 file.txt "abc123..."
Find Duplicate Files
{baseDir}/hash-dupes.sh <directory> {baseDir}/hash-dupes.sh ./my-files --algorithm md5 {baseDir}/hash-dupes.sh ./my-files --delete
Supported Algorithms
Algorithm Command Notes
MD5 md5
Fast, not collision-safe
SHA-1 sha1
Deprecated for security
SHA-256 sha256
Recommended default
SHA-512 sha512
Longer hash
BLAKE2b blake2b
Fast, secure alternative
BLAKE2s blake2s
256-bit variant
Output Formats
{baseDir}/hash.sh sha256 file.txt # Just the hash {baseDir}/hash.sh sha256 file.txt --format long # "SHA256 (file.txt) = abc123..." {baseDir}/hash.sh sha256 file.txt --json # JSON output {baseDir}/hash.sh sha256 file.txt --base64 # Base64 encoded
Examples
Hash a file:
{baseDir}/hash.sh sha256 document.pdf
Output: a1b2c3d4e5f6...
Hash a string:
{baseDir}/hash.sh sha256 --string "hello world"
Output: b94d27b9934d3e08...
Verify a download:
{baseDir}/hash-verify.sh sha256 download.tar.gz "expected-hash-value"
Output: ✅ Hash matches!
Find duplicates in directory:
{baseDir}/hash-dupes.sh ./photos --algorithm sha256
Output: Duplicates found:
sha256:abc123... -> file1.jpg, file2.jpg
Generate checksums file:
{baseDir}/hash-dir.sh sha256 ./dist > CHECKSUMS.sha256
Notes
-
Uses system utilities (md5sum, sha256sum, b2sum) when available
-
Falls back to OpenSSL for algorithms not in coreutils
-
All hash operations are deterministic
-
No network access required