CoderTools

Générateur HMAC

Générez des codes d'authentification HMAC sécurisés avec plusieurs algorithmes de hachage

La clé secrète utilisée pour la génération HMAC. Gardez-la confidentielle !

* SHA-1 est considéré comme non sécurisé. ** MD5 est cryptographiquement cassé et ne doit être utilisé que pour la compatibilité avec les anciens systèmes. Utilisez SHA-256 ou SHA-512 pour les nouvelles applications.

À propos de HMAC

HMAC (Keyed-Hash Message Authentication Code) est un mécanisme spécifique pour l'authentification de message utilisant des fonctions de hachage cryptographiques et une clé secrète. Comme spécifié dans la RFC 2104, il permet de vérifier à la fois l'intégrité des données et l'authentification d'un message.

Contrairement à une fonction de hachage standard (comme SHA-256) qui garantit seulement l'intégrité, HMAC utilise une clé secrète pour garantir l'authenticité (détection de falsification). Il est largement utilisé dans l'authentification API (ex: AWS Signature v4), les JWT et les transferts de données sensibles.

Algorithmes HMAC supportés

Cet outil supporte des algorithmes HMAC complets incluant SHA-256, SHA-512, SHA-384, SHA-224 et les variantes modernes SHA-3. Le support hérité inclut MD5 et SHA-1. La formule est : HMAC(K, m) = H((K' ⊕ opad) || H((K' ⊕ ipad) || m)).

Cas d'utilisation courants

Authentification de requête API et vérification de signature
Signature JWT (JSON Web Token) avec HS256/HS384/HS512
Vérification de charge utile Webhook
Dérivation de clé basée sur mot de passe (PBKDF2)
Vérification de l'intégrité des messages dans les communications sécurisées

Considérations de sécurité

La sécurité dépend fortement de la clé secrète. Force de la clé : La clé doit être aléatoire et au moins aussi longue que la sortie du hachage (ex: 32 octets pour SHA-256). Choix de l'algorithme : Utilisez SHA-256 ou SHA-512 pour les nouvelles applications. Évitez MD5 et SHA-1.

Exemple

Message: "Hello, World!"

Clé secrète: "secret-key-2025"

Algorithme: HMAC-SHA256

Sortie:

e4d7f1b4c4e5a8d3e...

Foire Aux Questions (FAQ)

Quelle différence entre Hash et HMAC ?

Un Hash (comme SHA-256) est une fonction à sens unique calculable par tous. HMAC utilise une fonction de hachage *plus* une clé secrète. Seul le détenteur de la clé peut créer ou vérifier un HMAC valide.

Pourquoi ne pas utiliser juste Hash(Clé + Message) ?

La simple concaténation (`H(Clé + Message)`) est vulnérable aux 'attaques par extension de longueur' (Length Extension Attacks) avec certains hachages comme MD5 ou SHA-1. La structure imbriquée de HMAC empêche cela.

Le HMAC est-il réversible (déchiffrable) ?

Non. HMAC est une fonction de hachage cryptographique, pas un chiffrement. C'est à sens unique. On ne peut pas retrouver le message original ou la clé depuis la sortie.

Quelle longueur pour ma clé secrète ?

La RFC 2104 recommande une longueur au moins égale à la sortie du hachage (ex: 32 octets pour SHA-256).

Puis-je l'utiliser pour stocker des mots de passe ?

Bien que mieux qu'un simple hash, pour les mots de passe, utilisez des fonctions de dérivation de clé (KDF) spécialisées comme PBKDF2, bcrypt ou Argon2.

Ma clé est-elle en sécurité avec cet outil ?

Oui. Cet outil fonctionne entièrement côté client. Le calcul HMAC est effectué directement dans votre navigateur via JavaScript. Votre clé n'est jamais envoyée à un serveur.

Menu Rapide

Aucun outil récent