HMAC
HMAC Generator
Runs in your browser using WebCrypto — no network requests.
Local only Secret key required
MessageUTF-8
Secret key(not sent anywhere)
Output
HMAC size: 32 bytes
Encoding
HMAC (SHA-256)
—
What HMAC is
HMAC combines a secret key and a hash (like SHA-256) to produce a tag you can use to verify the message was not altered and came from someone who knows the secret.
Good defaults
- Use HMAC-SHA-256 unless you have a reason to pick something else.
- Use a random key (32 bytes or more) for API signing.
- Send the message and HMAC; keep the secret private.
Quick verification examples
OpenSSL (hex output)
printf '%s' "message" | openssl dgst -sha256 -hmac "secret"Node.js (base64 output)
node -e "console.log(require('crypto').createHmac('sha256','secret').update('message').digest('base64'))"