Générateur HMAC 🔒 Fonctionne localement dans votre navigateur — rien n’est envoyé.

Calculez une signature HMAC avec SHA-256/384/512.

    

La comparaison ignore la casse et le préfixe « sha256= », vous pouvez donc coller la valeur d’en-tête telle quelle.

À propos de cet outil

Un HMAC prouve qu’un message vient de quelqu’un qui connaît un secret partagé et qu’il n’a pas été altéré — le mécanisme derrière les webhooks signés, la signature des requêtes d’API et de nombreux schémas de jetons. Saisissez votre message et votre clé secrète, choisissez SHA-256, SHA-384 ou SHA-512, et obtenez la signature en hexadécimal ou Base64.

Le calcul utilise l’API Web Crypto native du navigateur et se déroule entièrement sur votre appareil : votre clé secrète n’est jamais transmise. Il se met à jour en direct pendant que vous tapez.

Questions fréquentes

À quoi sert HMAC ?

HMAC (code d'authentification de message basé sur un hachage) prouve à la fois qu'un message n'a pas été altéré et qu'il provient de quelqu'un connaissant une clé secrète partagée — c'est ainsi que des services comme Stripe ou GitHub signent les payloads de webhooks pour que vous puissiez vérifier leur authenticité.

HMAC est-il la même chose que simplement hacher le message ?

Non. Un simple hachage (SHA-256 du message seul) peut être recalculé par n'importe qui, donc il ne prouve rien sur l'origine. HMAC y mêle une clé secrète via une construction résistante aux attaques par extension de longueur, si bien que seul le détenteur de la clé peut produire une signature valide.

Ma clé secrète est-elle envoyée quelque part ?

Non. Le HMAC est calculé localement avec l'API Web Crypto du navigateur (crypto.subtle). Votre clé et votre message ne quittent jamais votre appareil.

Pourquoi la vérification de signature indique-t-elle « ne correspond pas » alors que j'ai bien copié la valeur ?

Les en-têtes de webhook sont souvent préfixés comme sha256=<hex>, utilisent une casse différente, ou ont des espaces superflus autour. Le vérificateur normalise la casse et retire automatiquement un préfixe algorithm=, mais vérifiez que vous avez choisi le même algorithme de hachage et le même encodage de clé (UTF-8/Hex/Base64) que l'expéditeur.

Quel encodage de clé dois-je choisir ?

La plupart des API fournissent une chaîne secrète en UTF-8 brut (par ex. whsec_...) — utilisez UTF-8. Ne choisissez Hex ou Base64 que si la documentation du fournisseur indique explicitement que la clé est encodée ainsi.