← Back to home

Hash Generator — MD5, SHA-1, SHA-256, SHA-384, SHA-512, HMAC

Compute 5 hash algorithms at once (MD5, SHA-1, SHA-256, SHA-384, SHA-512) + HMAC-SHA256/512 with secret key + file hash (SHA-256). Web Crypto API native.

5 algosHMACFileWeb Crypto
MD5—
SHA-1—
SHA-256—
SHA-384—
SHA-512—
HMAC (keyed hash)
File SHA-256

Why use this tool

⚡
5 hashes in parallel

One input → 5 algos computed simultaneously (Promise.all). Faster than sequential tools.

🔐
Web Crypto native

SHA-* uses crypto.subtle.digest — native browser implementation, FIPS-compliant in Chrome/Edge.

📁
File hash

Drag file → SHA-256 byte-level (verify download integrity). Handles 100MB+ files.

How to use

  1. 1Type text in the textarea — 5 hashes appear in realtime.
  2. 2(Optional) Enter HMAC secret → HMAC-SHA256 + HMAC-SHA512 shown.
  3. 3(Optional) Upload a file → SHA-256 file hash (verify downloads).

Hash algorithms

MD5 (128-bit, 1991): deprecated for security (collision found 2004) but still used for non-security checksums. The tool uses a JS lib (Web Crypto doesn't support MD5).

SHA-1 (160-bit, 1995): collision found 2017 — deprecated for security. Still used by git, legacy systems.

SHA-2 family (256/384/512): current standard. SHA-256 is most popular (Bitcoin, TLS, password hashing with salt).

HMAC: keyed hash — combines secret + message, used for authentication (API signatures, JWT HS256).

  • ✓MD5 + SHA-1/256/384/512 simultaneously
  • ✓HMAC-SHA256 + HMAC-SHA512
  • ✓File hash via drag-drop
  • ✓Native Web Crypto API (SHA-*)
  • ✓Realtime — hashes per keystroke
  • ✓Hex output (lowercase)
  • ✓Copy per algo

FAQ

What is MD5 used for?

Only checksums (file integrity, cache keys). NOT for passwords (rainbow table attacks) or digital signatures.

SHA-256 vs SHA-3?

Same security level (256-bit). SHA-3 has a different internal structure (Keccak), theoretically more secure. The tool doesn't yet support SHA-3 (Web Crypto doesn't have it).

Is file hash slow?

Web Crypto streams chunks; a 100MB file takes ~5-10s. The browser main thread isn't blocked thanks to async digest.