générateur HMAC

Déboguez les signatures de webhook et l'authentification de l'API en calculant le HMAC de la famille SHA à partir du message et du secret, avec une sortie hexagonale ou Base64.

Read the full guide: JWT Security Basics: Décode, vérification et erreurs courantes →

Confidentialité : traitée localement, jamais téléchargée.

↓ Collez dans la zone d'entrée ci-dessous pour voir les résultats instantanément

消息与密钥

输入消息和共享密钥,HMAC 会随内容实时更新。

密钥
算法
输出格式

Sortie

HMAC 结果

0e8d0d54851504630d2d9d46e991b6c226f66812a81416f7d4ae95d5193e345e

Notes

HMAC 说明

HMAC 用密钥对消息做认证摘要,常用于 API 签名与 Webhook 校验。密钥请勿泄露或硬编码在客户端。

Déboguez les signatures de webhook et l'authentification de l'API en calculant le HMAC de la famille SHA à partir du message et du secret, avec une sortie hexagonale ou Base64.

Démarrage rapide

  1. Entrez le message et le secret

    Aucune sortie lorsque le secret est vide.

  2. Algorithme de sélection et format

    Préférez SHA-256; MD5/SHA-1 pour les systèmes anciens uniquement.

Utilisations communes

GitHub, Stripe et les webhooks similaires utilisent HMAC pour vérifier l'intégrité de la charge utile.

Flow de travail typique

Lors du développement de fonctionnalités nécessitant une vérification de l'intégrité du message, le générateur HMAC valide rapidement les correspondances de signature. Par exemple, lors de la réception de webhooks, copiez le message brut et la clé secrète du serveur, générez le HMAC et comparez-le avec la signature dans l'en-tête de la demande pour détecter la manoeuvre.

Lors du débogage de l'authentification API, comparez d'abord HMAC généré localement avec des exemples de documentation pour confirmer la cohérence de l'algorithme. Remplacez ensuite par vos données de test pour vérifier les réponses du serveur. Cela élimine l'écriture de scripts temporaires, idéal pour le débogage rapide. Assurez-vous que la clé secrète correspond à l'homologue, SHA256 étant l'algorithme le plus courant.

Webhook verification

Stripe, GitHub, Slack sign raw bodies with HMAC-SHA256. Reproduce digests here—body must be byte-identical. json-formatter changes bodies; verify with raw bytes.

Secrets live in headers (X-Signature), not bodies. Leaked HMAC secrets enable forgery—rotate and audit.

Security

Never paste production webhook secrets into browser tools—use staging or fake keys.

Compare wrong-secret digests with hash-generator against official examples.

Exemples

Exemple

Input

message=Towalles, secret=secret-key, SHA-256

Output

Hex digest

FAQ

Différence avec le générateur de hash ?

Les hashes n'ont pas de clé. HMAC exige un secret partagé pour les digests authentifiés.

Pourquoi le HMAC diffère-t-il du résultat du serveur ?

Causes courantes: 1) Incompatibilité des clés (vérifier les espaces / l'encodage); 2) Différent traitement des messages (par exemple, interruptions de ligne); 3) discrepance de l'algorithme; 4) Format de sortie (Hex vs Base64 sont équivalents mais semblent différents).

Which algorithms?

Common HMAC-SHA256/512—see tool UI options.

Hex or base64?

Follow integrator docs—Stripe often uses hex.

Sort JSON keys?

Only if docs require canonical JSON—most use raw body.

Secret uploaded?

No—local computation.