Générateur HMAC — SHA-256, SHA-512 et SHA-1

Calculez des signatures HMAC avec clé pour vos requêtes API et webhooks, et vérifiez si une signature reçue est valide, grâce à l’API Web Crypto de votre navigateur.

Mis à jour le
Algorithme

🔒 Calcul local grâce à l’API Web Crypto de votre navigateur : rien de ce que vous saisissez n’est envoyé à un serveur.

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

Comment utiliser : Générateur HMAC

  1. Collez le message exactement tel qu’il est signé : pour les webhooks, le corps brut de la requête.
  2. Saisissez la clé secrète et choisissez son encodage.
  3. Sélectionnez l’algorithme de hachage ; le HMAC se met à jour immédiatement.
  4. Collez une signature reçue dans Signature attendue pour la vérifier.

Qu’est-ce que HMAC ?

HMAC (Hash-based Message Authentication Code, RFC 2104) combine une clé secrète et une fonction de hachage pour produire une signature. Toute personne possédant la clé peut calculer la même valeur ; une personne qui ne la possède pas ne peut pas en forger une. Les API utilisent HMAC pour signer les requêtes (AWS Signature v4, de nombreuses passerelles de paiement), et les webhooks l’emploient pour vous permettre de vérifier qu’un appel provient bien de l’émetteur.

Vérifier les webhooks

ServiceEn-têteAlgorithme / encodage
GitHubX-Hub-Signature-256HMAC-SHA256, hexadécimal, préfixé par sha256=
StripeStripe-SignatureHMAC-SHA256 en hexadécimal de timestamp.body
ShopifyX-Shopify-Hmac-Sha256HMAC-SHA256, Base64
SlackX-Slack-SignatureHMAC-SHA256 en hexadécimal de v0:timestamp:body

La raison la plus courante d’une signature qui ne correspond pas est que le corps a été modifié avant la signature : JSON analysé puis resérialisé, espaces ou fins de ligne différents. Signez toujours les octets bruts reçus. Le vérificateur ci-dessus accepte l’hexadécimal (avec ou sans sha256=), le Base64 et le Base64url.

HMAC ou simples empreintes

Un simple hachage SHA-256 garantit l’intégrité, mais pas l’authenticité : n’importe qui peut le recalculer après avoir modifié le message. HMAC intègre le secret, si bien que seuls les détenteurs de la clé peuvent produire une valeur valide. Utilisez une clé d’au moins autant d’octets aléatoires que la taille de sortie du hachage (32 pour SHA-256). Dans votre code serveur, comparez les signatures avec une fonction à temps constant, comme crypto.timingSafeEqual.

Pour les hachages sans clé, utilisez le générateur de hash ; pour les jetons signés, l’encodeur JWT.

Aussi recherché comme : hmac en ligne, hmac sha256 en ligne, signature webhook, vérifier hmac, hmac sha512, calculer hmac, hmac sha256.

Outils complémentaires : Générateur HMAC

  • 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.
  • Chiffrement AES — Protégez une note, un secret ou une valeur de configuration par mot de passe avec AES-256, ou déchiffrez un texte produit par openssl enc.
  • Validateur IBAN — Vérifiez qu’un IBAN est valide avant d’envoyer de l’argent ou de l’enregistrer : le pays, la longueur propre à ce pays, le format du compte et la somme de contrôle mod-97.

Questions fréquentes

Pourquoi mon HMAC ne correspond-il pas à la signature du webhook ?
En général, le message diffère : le corps doit être constitué des octets bruts reçus, et non d’un JSON analysé puis resérialisé. Vérifiez aussi l’algorithme, l’encodage de la clé et tout préfixe comme sha256=.
HMAC-SHA1 est-il encore sûr ?
HMAC-SHA1 est toujours considéré comme sûr pour l’authentification, contrairement au SHA-1 seul pour les signatures, mais les nouveaux systèmes devraient utiliser HMAC-SHA256.
Ma clé secrète est-elle envoyée quelque part ?
Non. Le HMAC est calculé dans votre navigateur grâce à l’API Web Crypto.
Quelle est la différence entre une sortie en hexadécimal et en Base64 ?
Elles encodent les mêmes octets de manière différente. En hexadécimal, un SHA-256 comporte 64 caractères ; en Base64, il en comporte 44. Utilisez le format attendu par le système destinataire.
Puis-je installer Générateur HMAC en tant qu’application web et l’utiliser hors ligne ?
Oui. Générateur HMAC 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