Aller au contenu
TextArray
Tout en local

Générateur HMAC

Calculez les signatures HMAC-SHA256, SHA-1, SHA-384 ou SHA-512 avec une clé secrète.

Entrée
Sortie

Générateur HMAC

Un HMAC est un hachage à clé : le message et une clé secrète entrent ensemble, et seule une personne détenant la même clé peut reproduire ou vérifier le résultat. C'est ce que les fournisseurs d'API utilisent pour signer les demandes et ce que les expéditeurs de webhooks, comme les plateformes de paiement et les services d'hébergement de code, attachent à chaque livraison, afin que le destinataire puisse prouver que la charge utile provient réellement d'eux et n'a pas été modifiée pendant le transport.

Entrez la clé secrète, choisissez l'algorithme utilisé par l'autre côté (SHA-256 est la valeur par défaut) et collez le message. Le résumé apparaît sous forme hexadécimale minuscule ou en Base64, correspondant aux deux formats dans lesquels les signatures sont échangées. Activez le HMAC par ligne pour signer chaque ligne d'entrée séparément, ce qui convient à une colonne de jetons ou d'identifiants. Les développeurs y parviennent en déboguant un gestionnaire de webhook qui rejette les signatures, en reproduisant un exemple de documentation ou en générant un vecteur de test pour un test unitaire.

La clé et le message sont tous deux pris sous forme d'octets UTF-8, exactement comme le font la plupart des SDK de serveur. Lorsque votre résultat ne correspond pas à l'autre côté, la cause est presque toujours des octets, pas des mathématiques : une nouvelle ligne de fin dans la charge utile, des fins de ligne CRLF, une sortie hexadécimale comparée à Base64 ou une clé que le service fournit encodée en Base64 ou en hexadécimal et qu'elle attend décodée avant utilisation.

Le champ clé est masqué et n'est délibérément jamais écrit dans le stockage de votre navigateur. Tout s'exécute localement via WebCrypto intégré au navigateur : coller un secret de signature dans un outil HMAC en ligne le transmet normalement à ce serveur, et ici, il ne quitte jamais votre appareil.

FAQ

A quoi sert un HMAC ?
Prouver qu'un message provient de quelqu'un qui détient le secret partagé et n'a pas été modifié en cours de route. Utilisations typiques : signature de requêtes API, vérification des livraisons de webhooks à partir de plateformes de paiement et d'hébergement, et signature de jetons. Le récepteur recalcule le HMAC avec la même clé et compare.
En quoi HMAC est-il différent d’un simple hachage ?
Un message SHA-256 simple peut être calculé par n'importe qui, il ne prouve donc rien sur l'expéditeur. Un HMAC mélange une clé secrète dans le calcul d'une manière qui résiste à la falsification : sans la clé, vous ne pouvez ni falsifier une signature valide ni en vérifier une. C'est également la raison pour laquelle HMAC-SHA1 reste acceptable dans la pratique, même si le SHA-1 simple est défectueux en cas de collision, même si les nouvelles conceptions devraient toujours choisir le SHA-256.
Pourquoi mon HMAC ne correspond-il pas à celui envoyé par le serveur ?
Presque toujours, les octets diffèrent. Recherchez une nouvelle ligne de fin dans la charge utile, les fins de ligne CRLF par rapport à LF, la comparaison hexadécimale par rapport à Base64 et le format de clé - de nombreux services vous remettent le secret codé en Base64 ou en hexadécimal et attendent les octets décodés comme clé. Cet outil utilise la clé exactement telle que saisie, comme UTF-8.
Quelqu'un peut-il récupérer ma clé sur un HMAC ?
Aucune attaque pratique ne récupère la clé des résumés. Mais toute personne détenant la clé peut signer des messages arbitraires, alors traitez les secrets de signature comme des mots de passe : faites pivoter un secret de webhook s'il a pu être divulgué et ne le confiez jamais à un référentiel.
Ma clé et mon texte sont-ils téléchargés quelque part ?
Non. Le HMAC est calculé par WebCrypto intégré à votre navigateur, le champ clé n'est jamais écrit dans le stockage et ni la clé ni le texte ne quittent jamais votre appareil.