Skip to content
Securite · Hachage

Générateur HMAC

Calculez des codes d’authentification de message HMAC-SHA1, HMAC-SHA256, HMAC-SHA384 et HMAC-SHA512 avec une clé secrète. Prend en charge les encodages de clé texte brut, hex et Base64 ; sorties en hex, Base64 ou Base64 compatible URL. Vérifiez un HMAC reçu dans l’onglet Vérifier. Tout s’exécute dans votre navigateur ; rien n’est envoyé.

In-browser only Web Crypto API SHA-1 · 256 · 384 · 512
0 octets
0 octets
HMAC-SHA256 · 256 bits
Saisissez un message et une clé secrète pour générer un HMAC.
Tout le calcul s’exécute dans votre navigateur — rien n’est envoyé.

Guide

Comment utiliser

  1. 1
    Saisissez votre message

    Tapez ou collez le message à authentifier dans le champ Message. Le nombre d’octets se met à jour en temps réel.

  2. 2
    Saisissez votre clé secrète

    Tapez ou collez votre clé secrète dans le champ Clé secrète. Utilisez le sélecteur d’encodage pour indiquer si la clé est en texte brut, hex ou Base64.

  3. 3
    Choisissez un algorithme et un encodage de sortie

    Choisissez parmi les quatre algorithmes : HMAC-SHA1, HMAC-SHA256, HMAC-SHA384 ou HMAC-SHA512. Puis sélectionnez le format de sortie : hex, Base64 ou Base64 compatible URL.

  4. 4
    Lisez le résultat HMAC

    Le HMAC est calculé dans un Web Worker en arrière-plan et affiché instantanément. Copiez-le, téléchargez-le en .txt ou passez à l’onglet Vérifier pour le comparer à une valeur attendue.

  5. 5
    Vérifiez un HMAC

    Passez à l’onglet Vérifier et collez le HMAC attendu dans le champ HMAC attendu. Un indicateur vert apparaît s’il correspond au HMAC calculé, rouge sinon.

Référence

Comparatif des algorithmes HMAC

Comparatif des algorithmes HMAC
AlgorithmeTaille de sortieHash interneIdéal pour
HMAC-SHA1160 bits (20 octets)SHA-1Systèmes hérités uniquement — évitez pour les nouveaux projets
HMAC-SHA256256 bits (32 octets)SHA-256Authentification API généraliste, JWT
HMAC-SHA384384 bits (48 octets)SHA-384Signature haute sécurité, contexte TLS
HMAC-SHA512512 bits (64 octets)SHA-512Authentification de message à haute assurance

Questions fréquentes

Qu’est-ce qu’un HMAC ?
HMAC (Hash-based Message Authentication Code) est un code d’authentification de message qui combine une fonction de hachage cryptographique avec une clé secrète. Il sert à vérifier à la fois l’intégrité et l’authenticité d’un message — que le message n’a pas été altéré et qu’il provient de quelqu’un qui connaît le secret partagé.
Quelle est la différence entre HMAC-SHA256 et HMAC-SHA512 ?
Les deux sont sûrs pour un usage moderne. HMAC-SHA256 produit une signature de 256 bits (32 octets) et est le choix le plus utilisé pour l’authentification API et la signature JWT. HMAC-SHA512 produit une signature de 512 bits (64 octets) et offre une marge de sécurité plus grande, au prix d’une chaîne de sortie plus longue. Pour la plupart des applications, HMAC-SHA256 est le bon choix.
HMAC-SHA1 est-il encore sûr ?
HMAC-SHA1 n’est pas cassé de la même façon que le SHA-1 brut. Cependant, il est considéré comme hérité et ne doit pas être utilisé pour de nouvelles intégrations. Utilisez plutôt HMAC-SHA256 ou plus. Certaines API plus anciennes (comme OAuth 1.0) exigent encore HMAC-SHA1 pour la rétrocompatibilité.
Quelle est la différence entre les sorties hex et Base64 ?
Les deux représentent les mêmes données binaires dans des encodages texte différents. Le hex utilise deux caractères minuscules par octet (0–9, a–f) et est facile à lire. Le Base64 utilise environ 1,33 caractère par octet et est plus compact. Le Base64 compatible URL remplace + par - et / par _, et supprime le rembourrage, ce qui le rend sûr dans les URL et les en-têtes HTTP.
Quels encodages de clé sont pris en charge ?
Trois encodages de clé sont disponibles : Texte brut encode la clé en octets UTF-8. Hex attend la clé sous forme de chaîne hex (chaque paire de caractères est un octet ; doit avoir un nombre pair de caractères). Base64 attend une clé encodée en Base64 standard (le rembourrage est optionnel).
Cet outil envoie-t-il ma clé ou mon message ?
Non. Tout le calcul s’effectue dans un Web Worker s’exécutant entièrement dans votre navigateur. Votre clé et votre message ne quittent jamais votre appareil — l’onglet Réseau ne montre aucune requête sortante contenant vos données.
Pourquoi mon HMAC diffère-t-il de celui calculé par mon serveur ?
Les causes les plus fréquentes sont : le message a un saut de ligne final sur le serveur (vérifiez avec printf vs echo), la clé est dans un encodage différent (hex vs texte brut vs Base64), ou un algorithme différent a été utilisé. Vérifiez que les trois paramètres correspondent à ce qu’attend votre serveur.
Puis-je utiliser la sortie Base64 compatible URL avec JWT ?
JWT utilise le Base64 compatible URL (sans rembourrage) pour les trois parties du token, y compris la signature. Si vous devez correspondre à une signature JWT, sélectionnez la sortie Base64 compatible URL.