Développeur / Signatures

Générateur HMAC (SHA-256, SHA-512)

Générez une signature HMAC pour un message et une clé secrète avec SHA-256, SHA-384, SHA-512 ou SHA-1, en hexadécimal et en Base64, afin de tester les signatures de webhooks et d'API.

Générateur HMAC (SHA-256, SHA-512): HMAC combine une clé secrète et un message au moyen d'une fonction de hash : seule une personne possédant la clé peut produire la même signature. Le calcul est effectué avec l'API Web Crypto de votre navigateur, la même implémentation que celle utilisée par le navigateur pour HTTPS. Une clé vide est autorisée ; elle est traitée comme une clé de zéro octet, conformément à la norme HMAC. Fonctionne 100 % localement dans votre navigateur, sans aucun téléversement de fichier vers le serveur.

Exécutions
Dans votre navigateur
Coût
Gratuit · sans inscription
Disponibilité
Prêt à l'emploi
Générateur HMACTraitement local

Fonctionne entièrement dans votre navigateur

Hex—
Base64—

Le message est lu comme du texte UTF-8, exactement tel qu’il a été saisi, espaces et sauts de ligne compris ; un saut de ligne final modifie le résultat. Les webhooks de services tels que Stripe et GitHub sont signés avec HMAC-SHA256 de cette manière.

Vérifier un webhook

Récupérez le corps brut de la requête avant toute analyse, calculez le HMAC avec le secret partagé, puis comparez-le à l’en-tête de signature à l’aide d’une comparaison à temps constant, afin que la durée ne révèle pas le nombre de caractères correspondants. Rejetez les requêtes dont l’horodatage date de plus de quelques minutes pour empêcher les rejeux.

Pour obtenir un hash sans clé, utilisez le générateur de hash ; pour les jetons signés, utilisez le décodeur JWT.

Clés

Une clé aussi longue que la sortie du hash — 32 octets aléatoires pour SHA-256 — fournit le niveau de sécurité maximal ; les clés plus longues sont d’abord réduites par hashage. Ne stockez pas les clés dans les dépôts de code et faites-les tourner si elles sont divulguées.

Comment l'utiliser

  1. Collez le message exactement tel qu'il a été envoyé, par exemple le corps brut d'un webhook.
  2. Saisissez la clé secrète sous forme de texte ou de valeur hexadécimale, puis choisissez le hash.
  3. Comparez le résultat hexadécimal ou Base64 avec la signature reçue.

Confidentialité et limitations

Le message et la clé restent dans votre navigateur ; rien n'est envoyé où que ce soit.

Outils associés

Questions fréquentes

Pourquoi ma signature ne correspond-elle pas à celle du webhook ?

Le message signé doit être le corps brut, octet par octet : analyser puis réencoder le JSON, ou supprimer ou ajouter un saut de ligne, le modifie. Certains services signent ensemble un horodatage et le corps, comme Stripe avec t=…,payload.

HMAC-SHA1 est-il toujours sûr ?

Pour HMAC, il est encore considéré comme sûr, contrairement à SHA-1 utilisé pour le hash simple, mais les nouveaux systèmes devraient utiliser HMAC-SHA256.

Hexadécimal ou Base64 ?

Ce sont deux façons d'écrire les mêmes octets ; utilisez celle affichée par le service. GitHub utilise l'hexadécimal avec le préfixe sha256=, et beaucoup d'autres services utilisent Base64.

Outil gratuit · dans votre navigateur exécutions · aucun compte requis