Hash generator
Cryptographic hash functions map input of any size to a fixed-length fingerprint. Use SHA-256 for file integrity checks, cache keys, and learning — not for storing passwords (use bcrypt/Argon2). Hashes compute locally so passwords and secrets in test strings stay on device if you use this carefully.
Input
How to generate a hash
1. Paste text or upload small file if supported.
2. Select algorithm (SHA-256 recommended for new work).
3. Copy hex digest output.
4. Compare with expected checksum from vendor download page.
Hash examples
Verify download integrity
Compare SHA-256 of iso file with publisher posted hash.
Cache key
Hash canonical JSON request body to key Redis entry deduplication.
Gravatar email hash
MD5 of lowercased email for legacy avatar URL — MD5 not for security.
When to hash
• When verifying file downloads against published checksums.
• When generating deterministic IDs from content (git blob style).
• When teaching how one-way functions work.
When hashing is wrong
• Never MD5/SHA1 alone for password storage — use password hashing algorithms.
• When you need reversibility — hash is one-way.
• When collision resistance of MD5/SHA1 matters for security — use SHA-256+.
Integrity not authenticity
Hash proves file unchanged since hash published — sign hash with GPG to prove author.
Length extension
MD5/SHA1/SHA256 in plain form vulnerable to length extension in MAC misuse — use HMAC-SHA256 for message auth.
Blockchain mention
Block headers chain previous hash — same SHA-256 family conceptually, different context than file checksum.
Frequently asked questions
SHA-256 vs MD5?
SHA-256 is secure for integrity; MD5 has collision attacks — fine for non-adversarial cache keys only.
Salted passwords?
Use dedicated password hash API — not this tool.
Hex vs Base64 output?
Same bytes different encoding — match vendor format.
Unicode input?
UTF-8 bytes hashed — same string different encoding gives different hash.
Local?
Yes — Web Crypto or js library in browser.
HMAC?
HMAC needs secret key — different from plain hash.