Générateur de HMAC
Signez un message avec une clé secrète. Rien n'est transmis.
- Fonctionne dans votre navigateur — votre texte n'est jamais envoyé nulle part
- Sans inscription, sans quota, gratuit et utilisable aussi souvent que vous le souhaitez
Comment ça marche
Un HMAC prouve deux choses à la fois : que le message n'a pas été modifié, et que celui qui l'a produit détient le secret partagé. C'est ce qui sert à signer les webhooks, les requêtes d'API et les liens de téléchargement sur la plus grande partie du web.
Différent d'un simple hachage, là où cela compte
N'importe qui peut calculer le SHA-256 d'un message, si bien qu'un hachage seul ne prouve rien sur son auteur : on modifie le message, on recalcule le hachage, et personne ne peut s'en apercevoir. Un HMAC intègre une clé secrète dans le calcul, il ne peut donc pas être recalculé sans la clé. C'est tout l'intérêt, et c'est pourquoi les signatures de webhook utilisent un HMAC plutôt qu'un hachage.
Vérifier en toute sécurité
Quand vous vérifiez un HMAC sur un serveur, comparez-le avec une fonction à temps constant : crypto.timingSafeEqual dans Node, hash_equals en PHP. Un simple == retourne dès que deux octets diffèrent, et le temps nécessaire révèle quelle part de la signature était juste, ce qui suffit pour en forger une avec de la patience. C'est une attaque réelle, pas théorique.
Quel algorithme
SHA-256, sauf indication contraire. SHA-1 est inclus parce que de nombreuses anciennes API exigent encore HMAC-SHA-1, et HMAC-SHA-1 n'a pas été cassé comme l'a été SHA-1 seul, mais il n'y a aucune raison de le choisir pour un nouvel usage.
Hexadécimal ou Base64
Tout dépend de ce qu'attend l'autre partie. L'hexadécimal est deux fois plus long et plus facile à lire ; le Base64 est plus compact et courant dans les en-têtes HTTP. La même signature est affichée dans les deux formats.
Votre clé reste ici
Généré avec l'API Web Crypto du navigateur lui-même. La clé et le message ne sont jamais envoyés nulle part, ce qui est la seule façon responsable de proposer cet outil : un outil de signature qui envoie votre secret abandonne précisément ce que le secret protège.
Générateur de HMAC : questions
En quoi un HMAC diffère-t-il d'un hachage ?
Un hachage peut être recalculé par n'importe qui. Un HMAC nécessite la clé secrète : il prouve donc qui l'a produit.
Quel algorithme dois-je utiliser§?
SHA-256, sauf si une API en exige un autre. SHA-1 est proposé pour les anciens systèmes qui l'exigent encore.
Dois-je utiliser l'hexadécimal ou le Base64 ?
Celui qu'attend l'autre partie. Les deux sont affichés pour la même signature.
Pourquoi la comparaison doit-elle se faire en temps constant ?
Une comparaison ordinaire s'arrête dès la première différence, et l'écart de temps révèle quelle part était correcte, ce qui suffit pour falsifier une signature.
Ma clé secrète est-elle envoyée quelque part ?
Non. Tout s'exécute dans votre navigateur grâce à l'API Web Crypto.