🌐 Web et technique

Générateur HMAC

Générez un code d'authentification HMAC à partir d'un message et d'une clé secrète, dans votre navigateur.

Jimenez JulienPar , éditeur de Floobits.com · mis à jour le

Exemple prérempli : cas de test 2 de la RFC 4231. N'utilisez pas de clé de production dans une page web.

À propos de cet outil

HMAC (Hash-based Message Authentication Code, RFC 2104) associe une fonction de hachage et une clé secrète pour produire un code qui prouve à la fois l'intégrité d'un message et l'identité de son émetteur. Seuls ceux qui connaissent la clé peuvent calculer ou vérifier le code. Il est employé pour signer les webhooks, authentifier les appels d'API, protéger les cookies de session ou construire les jetons JWT en HS256.

Le calcul combine la clé, remplie ou raccourcie à la taille de bloc de la fonction de hachage, avec deux constantes de remplissage, puis effectue deux hachages imbriqués. L'outil s'appuie sur l'API Web Crypto et propose SHA-1, SHA-256, SHA-384 et SHA-512. La clé peut être saisie en texte UTF-8, en hexadécimal ou en Base64, et le résultat s'affiche dans les trois représentations les plus courantes.

Pour vérifier un webhook, calculez le HMAC du corps brut de la requête avec le secret partagé et comparez-le à la signature reçue. En production, cette comparaison doit se faire en temps constant côté serveur.

Questions fréquentes

Quelle différence entre HMAC et un simple hash ?

Un hash seul peut être recalculé par n'importe qui. Un HMAC dépend d'une clé secrète : sans elle, il est impossible de produire une signature valide ou de falsifier le message sans être détecté.

HMAC-SHA1 est-il encore sûr ?

Les collisions de SHA-1 n'affaiblissent pas gravement HMAC, qui reste utilisé par des protocoles existants. Pour un nouveau système, préférez néanmoins HMAC-SHA256 ou supérieur.

Mon résultat diffère de celui de mon serveur, pourquoi ?

Vérifiez que le message est identique octet pour octet, avec les mêmes retours à la ligne, et que la clé est interprétée dans le même format (texte, hexadécimal ou Base64).

Autres outils : Web et technique