Générateur de HMAC
Génération de HMAC
Générez et vérifiez des signatures HMAC avec 8 algorithmes, des options d'encodage clé/message et la prise en charge des fichiers. 100 % côté client.
Qu'est-ce qu'un Générateur de HMAC ?
Un générateur de HMAC calcule un Code d'Authentification de Message basé sur le Hachage (HMAC) en combinant un message avec une clé secrète via une fonction de hachage cryptographique. Contrairement à un simple hachage, le résultat change complètement si le message ou la clé change, ce qui prouve à la fois que les données sont intactes et qu'elles proviennent de quelqu'un possédant la clé. Cet outil exécute l'intégralité du calcul HMAC dans votre navigateur, afin que vous puissiez générer et vérifier des signatures pour des API, des webhooks et des jetons sans envoyer votre secret où que ce soit.
Comment Utiliser ce Générateur de HMAC
Générer une signature HMAC ne prend que quelques secondes :
Comment les Signatures HMAC sont Calculées
HMAC complète la clé secrète jusqu'à la taille de bloc de la fonction de hachage, puis la combine avec le message en deux passes de hachage sous-jacent. La passe interne applique un XOR à la clé avec une valeur de remplissage interne fixe et la hache avec le message ; la passe externe applique un XOR à la clé avec une valeur de remplissage différente et la hache avec le résultat de la passe interne.
Cette construction imbriquée est ce qui protège HMAC contre les attaques par extension de longueur qui affectent les hachages simples comme SHA-256 utilisés seuls. Elle est définie formellement dans la RFC 2104 et utilisée partout, des négociations TLS aux requêtes API signées.
HMAC contre un Simple Hachage
Un hachage simple comme MD5 ou SHA-256 transforme n'importe quelle entrée en une empreinte de taille fixe, mais n'importe qui peut recalculer cette empreinte, donc il prouve seulement que les données n'ont pas été corrompues. HMAC ajoute une clé secrète au calcul, de sorte que seule une personne connaissant la clé peut produire ou vérifier une valeur correspondante.
Cette étape supplémentaire transforme un hachage en code d'authentification de message : preuve d'intégrité et preuve que le signataire détient le secret partagé. Si vous avez seulement besoin de détecter des fichiers corrompus, utilisez notre Générateur de Hash ; si vous devez authentifier un message entre deux parties, HMAC est l'outil approprié.
Tous les Algorithmes HMAC Pris en Charge par ce Générateur
Ce générateur calcule le HMAC avec huit fonctions de hachage différentes, égalant ou dépassant ce que proposent la plupart des outils HMAC concurrents :
En règle générale, utilisez HMAC-SHA256, sauf si un protocole spécifique ou un système existant exige autre chose.
Algorithme | Longueur de Sortie | Statut de Sécurité | Idéal Pour |
|---|---|---|---|
| MD5 | 128 bits | Historique | Compatibilité avec les anciens systèmes uniquement |
| SHA-1 | 160 bits | Historique | Protocoles obsolètes |
| SHA-224 | 224 bits | Sûr | Signatures SHA-2 compactes |
| SHA-256 | 256 bits | Recommandé | API, webhooks, JWT (HS256) |
| SHA-384 | 384 bits | Sûr | Signatures SHA-2 renforcées |
| SHA-512 | 512 bits | Sûr | Systèmes 64 bits à haut débit |
| SHA3-512 | 512 bits | Sûr | Signature moderne basée sur Keccak |
| RIPEMD-160 | 160 bits | Historique | Anciens systèmes bancaires / PGP |
HMAC-SHA256 : Le Standard Moderne
HMAC-SHA256 est le choix par défaut pour signer les webhooks et les requêtes API chez des entreprises comme Stripe, GitHub et Shopify, et c'est aussi l'algorithme derrière la signature HS256 utilisée dans la plupart des JSON Web Tokens.
Il offre une bonne marge de sécurité, un large support des bibliothèques et une sortie hexadécimale de 64 caractères assez courte pour tenir dans les en-têtes HTTP.
SHA3-512 : L'Alternative Basée sur Keccak
SHA-3 utilise une conception interne totalement différente (Keccak) de la famille SHA-2, de sorte qu'une signature HMAC-SHA3 ne partage aucune faiblesse structurelle qui pourrait un jour être découverte dans SHA-256 ou SHA-512.
Choisissez-le lorsqu'un protocole exige spécifiquement la famille SHA-3 ou lorsque vous souhaitez diversifier les algorithmes en complément d'une signature SHA-2 existante.
MD5, SHA-1 et RIPEMD-160 : Algorithmes Historiques
HMAC-MD5 et HMAC-SHA1 sont toujours considérés comme cryptographiquement sûrs en tant que codes d'authentification de message, contrairement au MD5 ou SHA-1 seuls, car la clé secrète atténue les attaques par collision connues sur le hachage sous-jacent.
Néanmoins, les recommandations actuelles conseillent de passer à SHA-256 ou mieux pour les nouveaux systèmes ; ces variantes sont incluses ici principalement pour vérifier ou interagir avec d'anciennes API.
Calculer Tous les Algorithmes à la Fois
Passez le mode de résultat sur « Tous les algorithmes » pour générer les huit variantes de HMAC pour le même message et la même clé en un seul clic, utile lorsque vous ne savez pas quel algorithme attend une API ancienne.
Chaque résultat peut être copié individuellement, ou utilisez « Tout copier » pour récupérer toutes les signatures en une fois.
Encodage de la Clé et du Message : UTF-8, Hex et Base64
La plupart des API traitent la clé secrète comme du texte UTF-8 brut, mais certaines émettent des clés sous forme de chaînes hexadécimales ou Base64, et signer avec le mauvais encodage est la cause la plus courante d'un HMAC calculé qui ne correspond pas à ce qu'attend un serveur. Ce générateur vous permet d'indiquer précisément comment interpréter la clé et le message avant le hachage.
Si la documentation de votre fournisseur indique que la clé est « encodée en base64 », sélectionnez Base64 pour l'encodage de la clé plutôt que de hacher la chaîne Base64 littérale en tant que texte UTF-8 : les deux produisent des signatures totalement différentes.
Choisir un Format de Sortie : Hex ou Base64
La sortie hexadécimale est plus longue mais facile à lire et à comparer visuellement, et c'est le format utilisé par la plupart des outils de débogage et des exemples de documentation. La sortie Base64 est environ 25 % plus courte, ce qui compte lorsqu'une signature doit tenir dans un en-tête HTTP comme Authorization ou X-Signature.
Utilisez le format attendu par le système récepteur ; ce générateur peut produire du hex en minuscules, du hex en majuscules ou du Base64 sans rien recalculer.
Générer un HMAC pour un Fichier
Passez à l'onglet Fichier pour calculer un HMAC sur les octets bruts d'un fichier plutôt que sur du texte saisi, utile pour signer des téléchargements, vérifier des paquets logiciels ou authentifier des fichiers téléversés avant qu'ils n'atteignent un serveur.
Le fichier ne quitte jamais votre appareil : il est lu et haché localement dans votre navigateur, puis abandonné.
Vérifier et Comparer une Signature HMAC
Collez une valeur HMAC que vous avez reçue dans le champ de comparaison et cet outil la vérifie par rapport à la signature qu'il vient de calculer, afin que vous puissiez confirmer qu'une charge utile de webhook ou une réponse API est authentique sans écrire de code.
En mode « Tous les algorithmes », la comparaison vérifie toutes les variantes à la fois, ce qui est pratique lorsque vous ne savez pas quelle fonction de hachage l'expéditeur a utilisée.
Cas d'Usage Courants de HMAC
HMAC intervient partout où deux parties doivent se fier à un message sans exposer le secret qui le protège :
Signature des Requêtes API
Des services comme AWS, Stripe et de nombreuses API REST signent chaque requête avec un HMAC afin que le serveur puisse confirmer qu'elle n'a pas été modifiée ou falsifiée en transit.
Vérification des Webhooks
Les processeurs de paiement et les plateformes SaaS ajoutent un en-tête de signature HMAC aux charges utiles des webhooks, permettant à votre point de terminaison de rejeter tout ce qui ne provient pas du vrai service.
JSON Web Tokens (HS256)
L'algorithme HS256 utilisé par de nombreux JWT est en réalité du HMAC-SHA256, signant l'en-tête et la charge utile du jeton avec un secret côté serveur.
Transfert Sécurisé de Fichiers et de Données
Les systèmes qui échangent des fichiers ou des sauvegardes joignent souvent un HMAC afin que le destinataire puisse détecter une altération ou une corruption avant de faire confiance au contenu.
Bonnes Pratiques de Sécurité pour HMAC
Quelques habitudes permettent de garder des signatures HMAC fiables :
Utilisez une Clé Secrète Longue et Aléatoire
Une clé courte ou prévisible compromet la sécurité du HMAC quel que soit l'algorithme ; générez des clés à partir d'une source aléatoire cryptographiquement sûre, idéalement aussi longue que la sortie du hachage.
Préférez SHA-256 ou Plus Fort
Réservez MD5, SHA-1 et RIPEMD-160 à la compatibilité avec les systèmes existants, et utilisez par défaut HMAC-SHA256 ou HMAC-SHA512 pour les nouvelles intégrations.
Faites Tourner les Clés Régulièrement
Traitez les secrets HMAC comme des mots de passe : faites-les tourner régulièrement et immédiatement si une clé a pu être exposée.
Comparez les Signatures en Temps Constant
Lors de la vérification des valeurs HMAC sur un serveur, utilisez une fonction de comparaison à temps constant pour éviter de révéler des informations temporelles qui pourraient aider un attaquant à deviner la bonne signature.
Sécurité Côté Client et Outils Associés
Tous les calculs de cette page, y compris la génération HMAC, l'analyse des clés et le hachage de fichiers, s'exécutent localement dans votre navigateur en JavaScript. Votre message, votre clé secrète et tout fichier téléversé ne sont jamais transmis à nos serveurs ni à des tiers.
Questions Fréquentes (FAQ)
Foire aux questions