Outils Crypto·7 min

Comment générer des signatures HMAC : SHA-256, SHA-1, SHA-512

Apprenez à générer et vérifier des signatures HMAC pour requêtes API, webhooks et JWT. Outil gratuit dans le navigateur.

Qu'est-ce qu'une signature HMAC ?

HMAC (Hash-based Message Authentication Code) est un moyen de vérifier à la fois l'intégrité et l'authenticité d'un message. Il utilise une fonction de hachage cryptographique (généralement SHA-256) combinée à une clé secrète partagée pour produire une signature unique pour une entrée donnée. Si un seul octet du message change, la signature change aussi.

HMAC est largement utilisé pour l'authentification d'API, la vérification de webhooks, la signature de JWT et les protocoles de communication sécurisés. Contrairement à un simple hachage, HMAC nécessite une clé, ce qui signifie que seules les parties détenant le secret peuvent produire ou vérifier la signature.

Cas d'usage courants

  • Vérification de webhooks : confirmer qu'une requête entrante provient d'un émetteur connu
  • Signature de requêtes API : permettre à un serveur de vérifier qu'une requête a été émise par un client connu
  • Signature de JWT : produire le segment de signature d'un JSON Web Token
  • Intégrité de fichiers : détecter les altérations en transit ou en stockage
  • OAuth 1.0a et AWS Signature V4 : schémas de signature classiques et modernes

Méthode 1 : Utilisez le générateur HMAC gratuit d'UtilBoxx (Recommandé)

Notre générateur de signatures HMAC prend en charge HMAC-SHA-256, HMAC-SHA-1 et HMAC-SHA-512, et produit une sortie en hex ou Base64. Voici comment l'utiliser :

  1. Allez sur utilboxx.com/fr/tools/crypto/hmac
  2. Saisissez votre message et votre clé secrète
  3. Choisissez l'algorithme (SHA-256 par défaut)
  4. Choisissez l'encodage de sortie (hex ou Base64)
  5. Copiez la signature générée en un clic

Pourquoi cette méthode fonctionne :

  • Tourne entièrement dans votre navigateur — les secrets ne quittent jamais votre appareil
  • Prend en charge les algorithmes HMAC les plus courants
  • Mise à jour en direct à la frappe
  • Adapté au mobile
  • 100% gratuit, sans inscription, sans publicité

Méthode 2 : Utilisez OpenSSL en ligne de commande

La commande `openssl` est disponible sous Linux, macOS et Windows (avec Git Bash ou WSL) :

```bash echo -n "message" | openssl dgst -sha256 -hmac "mysecretkey" ```

Cela produit une signature HMAC-SHA-256 en hex. Remplacez `sha256` par `sha1` ou `sha512` pour d'autres algorithmes.

Méthode 3 : Utilisez une bibliothèque dans votre langage

En Node.js, le module `crypto` intégré gère HMAC :

```javascript const crypto = require('crypto'); const hmac = crypto.createHmac('sha256', 'mysecretkey'); hmac.update('message'); console.log(hmac.digest('hex')); ```

En Python :

```python import hmac, hashlib print(hmac.new(b"mysecretkey", b"message", hashlib.sha256).hexdigest()) ```

En Go :

```go package main import ("crypto/hmac"; "crypto/sha256"; "encoding/hex"; "fmt") func main() { mac := hmac.New(sha256.New, []byte("mysecretkey")) mac.Write([]byte("message")) fmt.Println(hex.EncodeToString(mac.Sum(nil))) } ```

Questions fréquentes

HMAC est-il identique à une signature numérique ?

Non. HMAC utilise une clé partagée, alors qu'une signature numérique utilise la cryptographie asymétrique (clé publique/privée). HMAC est plus rapide et plus simple, mais vous devez partager le secret en toute sécurité avec toutes les parties qui doivent vérifier la signature.

Quelle fonction de hachage dois-je utiliser ?

HMAC-SHA-256 est la valeur par défaut moderne. Il est largement pris en charge, sécurisé et rapide. HMAC-SHA-1 est considéré comme legacy et n'est utilisé que pour la compatibilité avec les anciens systèmes. HMAC-SHA-512 offre une sécurité accrue pour les applications très sensibles.

Une signature HMAC peut-elle être inversée ?

Non. La signature est une fonction à sens unique. Un attaquant ne peut pas récupérer le message ni la clé à partir de la signature, mais il peut vérifier des hypothèses s'il suspecte le message. Utilisez des clés longues et aléatoires pour maximiser la sécurité.

Que se passe-t-il si la clé fuite ?

Une clé qui fuite permet à des attaquants de forger des signatures valides pour n'importe quel message, brisant totalement l'authentification. Traitez les clés HMAC comme des mots de passe : stockez-les en sécurité, faites-les tourner régulièrement, et ne les committez jamais dans un dépôt de code.

Conclusion

HMAC est un outil fondamental pour des API sécurisées et l'intégrité des messages. Pour un générateur rapide dans le navigateur, l'outil de signature HMAC d'UtilBoxx est la façon la plus simple de calculer et vérifier des signatures.