Qu'est-ce que Générateur HMAC ?

Un générateur HMAC crée des codes d'authentification de message basés sur le hachage avec clé, en utilisant une clé secrète et un algorithme de hachage (SHA-256, SHA-512, etc.). Les HMAC vérifient à la fois l'intégrité et l'authenticité des données, et sont couramment utilisés pour l'authentification d'API, les signatures de webhooks et les jetons JWT.

HMAC mélange une clé secrète dans le hachage : seul celui qui détient la clé peut vérifier la signature. L'outil prend en charge SHA-1, SHA-256, SHA-384 et SHA-512 avec une sortie hex, Base64, Base64URL ou binaire brut, ainsi que des préréglages en un clic pour les webhooks GitHub, Stripe, Slack et Shopify qui remplissent le bon algorithme et le bon préfixe d'en-tête. Le message peut être saisi en texte brut ou collé déjà encodé en hex, Base64 ou Base64URL : il est décodé en octets bruts avant la signature. Un décompte d'octets en direct signale les clés plus courtes que les 32 octets sûrs en production, la signature se recalcule pendant la saisie, et un champ de vérification tolère les préfixes sha256= ou v0= envoyés par ces fournisseurs. Le message et la clé sont traités sur votre appareil.

Comment utiliser

  1. Étape 1 — Saisissez votre message et votre clé secrète.
  2. Étape 2 — Choisissez un préréglage webhook (GitHub, Stripe, Slack, Shopify) ou définissez vous-même l'algorithme de hachage (SHA-1, SHA-256, SHA-384 ou SHA-512) et l'encodage de sortie (hex, Base64, Base64URL ou binaire). Pour coller une charge déjà encodée, basculez la saisie du message sur Hex ou Base64.
  3. Étape 3 — Copiez la signature HMAC générée pour l'utiliser dans les en-têtes d'API ou la vérification de webhooks.

Quand l'utiliser

  • Signer les payloads de webhook pour que le récepteur vérifie l'expéditeur et l'intégrité du contenu.
  • Générer des signatures de requête pour AWS Signature Version 4 ou des schémas d'authentification API similaires.
  • Produire des signatures JWT avec les algorithmes HS256, HS384 ou HS512.

Résultat

Votre API de paiement exige des requêtes signées HMAC-SHA256. Saisissez le corps de la requête comme message, votre secret API comme clé, et copiez la signature résultante dans l'en-tête X-Signature.

FAQ

Quelle différence entre HMAC et un simple SHA-256 sur message+clé ?
HMAC repose sur une construction précise à double hachage avec clés intérieure et extérieure paddées. Cela protège contre les attaques d'extension de longueur, qui touchent les schémas naïfs hash(clé‖message) basés sur SHA-1 ou SHA-256.
Hex ou Base64 en sortie ?
Suivez ce qu'exige l'API ou le fournisseur du webhook. Hex est courant dans les en-têtes HTTP (Stripe, GitHub), Base64 dans les corps JSON et les JWT. La signature reste la même, seul l'encodage change.
Quelle taille pour la clé secrète ?
Au moins 32 octets (256 bits) de données aléatoires, idéalement issues d'une source cryptographique. Trop court affaiblit la sécurité ; plus grand que la taille de bloc du hachage (64 octets pour SHA-256) n'apporte rien car HMAC la compresse en interne.
Pourquoi ma signature diffère de celle envoyée par l'API ?
Quasi toujours une différence dans ce qui est signé. Espaces, fins de ligne, ordre exact des paramètres, URL encoding, inclusion ou non du timestamp : tout compte. Reproduisez la recette du fournisseur octet par octet.
HMAC-SHA1 est-il encore sûr ?
Pour un nouveau système, préférez HMAC-SHA256 ou supérieur. HMAC-SHA1 reste techniquement sûr car la construction ne dépend pas de la résistance aux collisions, mais sortir entièrement de SHA-1 est l'option la plus prudente sur la durée.

Outils similaires