Cette page n’est pas encore traduite en français : elle s’affiche en anglais.

HMAC Generator — SHA-256, SHA-512 & SHA-1

Compute keyed HMAC signatures for API requests and webhooks, and check whether a received signature is valid — using your browser’s Web Crypto API.

Mis à jour le
Algorithm

🔒 Runs locally with your browser’s Web Crypto API — nothing you type is sent to a server.

Vos données ne quittent jamais votre ordinateur. Tout le traitement se fait localement dans votre navigateur.

Comment utiliser : HMAC Generator

  1. Paste the message exactly as it is signed — the raw request body for webhooks.
  2. Enter the secret key and pick its encoding.
  3. Choose the hash algorithm; the HMAC updates instantly.
  4. Paste a received signature into Expected signature to verify it.

What is HMAC?

HMAC (Hash-based Message Authentication Code, RFC 2104) combines a secret key with a hash function to produce a signature. Anyone with the key can compute the same value; anyone without it cannot forge one. APIs use HMAC to sign requests (AWS Signature v4, many payment gateways) and webhooks use it so you can prove a callback really came from the sender.

Verifying webhooks

ServiceHeaderAlgorithm / encoding
GitHubX-Hub-Signature-256HMAC-SHA256, hex, prefixed sha256=
StripeStripe-SignatureHMAC-SHA256 hex of timestamp.body
ShopifyX-Shopify-Hmac-Sha256HMAC-SHA256, Base64
SlackX-Slack-SignatureHMAC-SHA256 hex of v0:timestamp:body

The most common reason a signature does not match is that the body was changed before signing — parsed and re-serialized JSON, different whitespace or line endings. Always sign the raw bytes you received. The verifier above accepts hex (with or without sha256=), Base64 and Base64url.

HMAC vs plain hashes

A plain SHA-256 hash proves integrity but not authenticity: anyone can recompute it after changing the message. HMAC includes the secret, so only key holders can produce a valid value. Use a key of at least as many random bytes as the hash output (32 for SHA-256). In server code, compare signatures with a constant-time function such as crypto.timingSafeEqual.

For unkeyed hashes, use the hash generator; for signed tokens, the JWT encoder.

Aussi recherché comme : hmac sha256, hmac online, hmac sha256 online, webhook signature, hmac sha512, verify hmac.

Outils complémentaires : HMAC Generator

  • Décodeur JWT — Collez un JSON Web Token pour examiner son en-tête et sa charge utile, vérifier sa date d'expiration et valider sa signature.
  • Encodage / Décodage Base64 — Convertissez du texte au format Base64 et inversement, avec une prise en charge complète de l'UTF-8 (accents, emojis) ; passez au format Base64 compatible URL, ou glissez-déposez un fichier pour obtenir sa chaîne Base64 ou son URI de données.
  • AES Encrypt & Decrypt — Protect a note, secret or config value with a password using AES-256 — or decrypt text produced by openssl enc.
  • IBAN Validator — Check whether an IBAN is valid before you send money or save it: the country, the length for that country, the account format and the mod-97 checksum.

Questions fréquentes

Why does my HMAC not match the webhook signature?
Usually the message differs: the body must be the raw bytes received, not JSON that was parsed and re-stringified. Also check the algorithm, the key encoding and any prefix like sha256=.
Is HMAC-SHA1 still secure?
HMAC-SHA1 is still considered secure for authentication, unlike plain SHA-1 for signatures, but new systems should use HMAC-SHA256.
Is my secret key sent anywhere?
No. The HMAC is computed in your browser with the Web Crypto API.
What is the difference between hex and Base64 output?
They encode the same bytes differently. Hex is 64 characters for SHA-256; Base64 is 44 characters. Use whatever the receiving system expects.
Puis-je installer HMAC Generator en tant qu’application web et l’utiliser hors ligne ?
Oui. HMAC Generator est une application web installable (PWA) : elle s’installe depuis votre navigateur, sans passer par une boutique d’applications. Cliquez sur « Installer l’application » en haut de cette page dans Chrome ou Edge (Windows, macOS, Linux, ChromeOS) ; sur Android, utilisez « Partager » → « Ajouter à l’écran d’accueil » sur iPhone et iPad ; ou « Fichier » → « Ajouter au Dock » dans Safari 17+ sur Mac. L’application s’ouvre alors dans sa propre fenêtre avec sa propre icône, et comme elle s’exécute entièrement dans votre navigateur, elle continue de fonctionner hors ligne. Firefox sur ordinateur de bureau ne permet pas d’installer d’applications web. Comment fonctionne l’installation.

Outils similaires