À propos de cet outil
Les testeurs ont besoin de hash pour vérifier des artefacts téléchargés, comparer des fichiers sans les ouvrir et, le plus souvent, contrôler des signatures de webhooks. Ce générateur calcule le MD5 et la famille SHA pour un texte ou un fichier local, et propose un mode HMAC qui signe un payload avec un secret, comme GitHub, Shopify et la plupart des prestataires de paiement signent leurs webhooks. Collez la valeur de l’en-tête de signature dans le champ de comparaison pour voir immédiatement si votre payload de test et votre secret la reproduisent. SHA et HMAC utilisent l’API Web Crypto du navigateur. Web Crypto ne propose pas MD5, donc MD5 provient d’une petite implémentation vérifiée avec la suite de tests de la RFC 1321. Les fichiers sont lus dans votre navigateur et jamais envoyés.
Mode d’emploi
- Choisissez Hash ou HMAC, et si l’entrée est un texte ou un fichier.
- Collez du texte (encodé en UTF-8) ou choisissez un fichier.
- En mode HMAC, choisissez l’algorithme et saisissez le secret en texte ou en hex.
- Copiez le résultat en hex ou en Base64, ou collez une valeur attendue pour comparer.
FAQ : Générateur de hash et HMAC
Pourquoi ma signature de webhook ne correspond-elle pas ?
Presque toujours parce que le corps diffère d’un octet : il a été indenté, les clés ont été réordonnées ou les fins de ligne ont changé. Signez le corps brut de la requête exactement tel que reçu, et vérifiez si le prestataire signe des données supplémentaires comme un préfixe d’horodatage.
MD5 ou SHA-1 sont-ils sûrs ?
Pas pour la sécurité. Des collisions pratiques existent pour les deux. Ils conviennent pour détecter une corruption accidentelle et tester des systèmes historiques ; utilisez SHA-256 ou plus fort pour tout ce qui touche à la sécurité.
Pourquoi le même texte donne-t-il un hash différent dans un autre outil ?
Les hash portent sur des octets. Une différence d’encodage (UTF-8 contre UTF-16), un retour à la ligne final ou des fins de ligne Windows CRLF changent tous le résultat. Cet outil hache les octets UTF-8 exacts de la zone de texte.