Generate MD5, SHA-1, SHA-256, SHA-384, and SHA-512 hashes for text or files, plus HMAC and hash comparison.
A cryptographic hash function turns any input into a fixed-length string of characters — the same input always produces the same hash, and even a tiny change in input produces a completely different one. This tool generates MD5, SHA-1, SHA-256, SHA-384, and SHA-512 hashes of text or files, computes HMACs, and compares hashes — all natively in your browser using the Web Crypto API (no external library loaded).
Hashes are used to verify file integrity (comparing a downloaded file's hash to a published checksum), store password verification data without storing the password itself, detect duplicate content, and generate checksums for version control and data deduplication. HMACs additionally prove a message came from someone who knows a shared secret key — used to authenticate API requests and webhooks.
For anything security-sensitive, use SHA-256 or SHA-512. MD5 and SHA-1 are fast but cryptographically broken — collisions can be deliberately engineered — so they're only suitable for non-security uses like quick checksums or cache keys.
Not directly — hashing is one-way by design. Weak or predictable inputs (like common passwords) can still be reversed via lookup tables ("rainbow tables"), which is why passwords need salting, not just hashing.
A plain hash only proves data integrity (it hasn't changed). An HMAC additionally proves authenticity — that whoever generated it knew the secret key — which is why APIs use HMAC signatures to verify webhook payloads.