Référence technique et guide d'architecture

Générateur et Vérificateur de Signature HMAC — Guide de référence

Calculez et vérifiez les codes d'authentification de message RFC 2104 (HMAC-SHA256, HMAC-SHA512, HMAC-SHA1, HMAC-MD5) avec comparaison en temps constant (Timing-Safe) dans votre navigateur.

Paramètres clés et contrôles

Algorithme de HachageEnum

Fonction de hachage sous-jacente pour la signature.

Par défaut : SHA-256
Encodage de la CléEnum

Format de la clé secrète partagée.

Par défaut : UTF-8
Encodage du MessageEnum

Format du corps de données à signer.

Par défaut : UTF-8
Format de SortieEnum

Représentation de la signature calculée.

Par défaut : hex-lower

Conseils de pro et bonnes practices

Utilisez toujours une vérification en temps constant

La comparaison standard (===) est sensible aux attaques par analyse temporelle. Notre moteur compare les octets en temps constant O(1).

Particularités des signatures GitHub et Stripe

GitHub signe le corps en Hexadécimal brut, tandis que Stripe concatène un horodatage avec la charge utile.

Longueur de clé recommandée selon RFC 2104

La clé doit idéalement mesurer au moins la taille de bloc de l'algorithme (32 octets pour SHA-256).

Pièges courants et dépannage

Échec de validation de signature d'un webhook

Veillez à utiliser le corps brut non altéré de la requête HTTP sans reformater le JSON.

Différence entre Base64 et Base64URL

Base64URL omet le remplissage '=' et remplace '+' par '-' et '/' par '_'. Adaptez le format de sortie en conséquence.

Foire aux questions (FAQ)

Pourquoi HMAC est-il supérieur à un simple hachage clé + message ?▼

Est-il possible de tester les signatures AWS SigV4 ?▼

Outils et utilitaires connexes

Tous les outils →