
Générateur de hash et HMAC : MD5, SHA-256, SHA-512 en ligne
Calculez MD5, SHA ou un HMAC dans le navigateur. Hex, Base64 ou Base64URL — checksum de texte et signature de webhook, 100 % local.
Une empreinte prouve les octets ; HMAC prouve qui les a envoyés
Un hash et un HMAC ne répondent pas à la même question. Le SHA-256 d'une chaîne indique si cette chaîne correspond encore à une empreinte publiée. Le HMAC-SHA-256 de la même chaîne, calculé avec un secret partagé, indique si quelqu'un qui connaît le secret l'a produite. Ni l'un ni l'autre n'est un chiffrement ou un stockage de mots de passe. FastMinify sépare les deux usages. Le générateur de hash en ligne calcule MD5, SHA-1, SHA-256, SHA-384 et SHA-512 sur du texte UTF-8, et le générateur HMAC signe un message en HMAC-SHA-256, SHA-384 ou SHA-512. Les deux fonctionnent dans l'onglet du navigateur grâce à Web Crypto (MD5 est une implémentation locale, car Web Crypto ne le propose pas), et rien n'est envoyé. Les deux figurent sur le hub des outils d'encodage, à côté de Base64 et des outils JWT. L'encodage épelle des octets, le hachage en prend l'empreinte.
Quand le navigateur est le bon endroit pour hacher
Une chaîne que vous pouvez coller, un secret que vous acceptez de taper dans votre propre navigateur, une empreinte que vous avez déjà.
Si les octets sont un artefact binaire, ou si le secret ne doit pas apparaître dans un navigateur sur une machine partagée, restez dans le shell ou en CI.
Les erreurs de hash qui ressemblent à une correspondance
Une empreinte simple est rapide, sans sel et identique pour la même entrée. Cela convient à un checksum, pas à un mot de passe : un attaquant peut calculer l'empreinte à l'avance, et deux utilisateurs avec le même mot de passe partagent la même valeur. La documentation des pages hash et HMAC le rappelle. Les mots de passe relèvent de bcrypt-hash (ou d'Argon2 sur votre serveur). HMAC n'est pas non plus le bon outil, car il authentifie un message avec un secret à conserver et n'étire pas un mot de passe.
N'importe qui peut recalculer le SHA-256 d'un corps public. L'empreinte prouve que le corps n'a pas changé, mais pas qui l'a produit. Si un webhook, une note de version ou un appel d'API doit être authentique, il faut un secret : HMAC, ou une signature JWT vérifiée avec jwt-verify. La confusion inverse est tout aussi courante après le guide Base64 encoder et décoder, car Base64 est un emballage réversible. Le SHA-256 de abc est ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad. On ne revient pas de cet hex à abc.
Le générateur de hash calcule l'empreinte de texte UTF-8, pas d'un fichier brut. Le sélecteur de fichiers n'accepte que des extensions de texte (txt, md, json, csv, html, xml, yml, yaml), dans la limite de 32 Mio du navigateur. Le fichier est décodé en texte avant le calcul. Le SHA-256 publié par un éditeur pour un .tar.gz, une image ou un PDF ne correspondra pas, et ces types ne figurent pas dans le sélecteur. Même un fichier texte peut différer de sha256sum quand les fins de ligne changent. Le SHA-256 de abc est le vecteur ci-dessus. Celui de abc suivi d'un seul LF est edeaaff3f1774ad2888673770c6d64097e391bc362d7d6fb34982ddf0efd18cb. Mêmes lettres, octets différents.
echo abc | sha256sum (echo ajoute un saut de ligne) et accuser le navigateursha256sum ou openssl dgst.Le X-Hub-Signature-256 de GitHub est sha256= suivi du HMAC-SHA-256 du corps brut, avec le secret en UTF-8. Stripe signe timestamp.payload, pas le JSON seul. La page HMAC ne construit pas ces chaînes et ne retire pas un préfixe sha256=. Collez le message exact, les octets exacts de la clé, et seulement le digest. La comparaison ignore la casse hex et les espaces, ainsi que le = final en Base64URL. Elle n'ignore pas un préfixe.
sha256=f7bc… dans Digest attenduQuel algorithme, quelle écriture, quel outil
Ils produisent tous des chaînes opaques. Ils ne se remplacent pas.
Les octets du digest ne changent pas. L'écriture, si. L'hex est la forme affichée par sha256sum et par la plupart des documentations de webhook. Le Base64 avec padding correspond à ce que renvoient certaines API. Le Base64URL sans padding est la forme compacte (pas de +, de /, ni de = final). Les majuscules ne s'appliquent qu'à l'hex.
Une empreinte tronquée est une copie ratée, pas un autre algorithme. Comptez les caractères après avoir retiré les espaces.
Calculer une empreinte, puis signer un message
Ouvrez le générateur de hash. Collez le texte ou choisissez un fichier texte. Choisissez hex, Base64 ou Base64URL. N'activez Hex majuscules que si le digest de référence est écrit en capitales, car l'option ne change rien au Base64. Les cinq algorithmes se mettent à jour ensemble. Collez le digest attendu pour surligner les correspondances, ou chargez l'exemple si vous voulez seulement voir le fonctionnement. Le champ doit contenir autre chose que des espaces : un champ vide efface les cartes au lieu d'afficher le SHA-256 bien connu de la chaîne vide.
1. Coller les octets exacts comme texte
Mettez-vous d'accord sur les sauts de ligne. Un LF final fait partie de l'entrée. Ne changez pas l'indentation du JSON si l'autre côté a haché la forme compacte.
2. Aligner l'écriture de sortie
Hex pour les checksums et les outils CLI. Base64 avec padding quand l'API montre + / et =. Base64URL sans padding quand l'empreinte va dans un jeton ou une URL.
3. Coller le digest attendu
La comparaison ignore la casse hex et les espaces, ainsi que le padding Base64URL. Une correspondance surligne l'algorithme. Aucun surlignage : octets différents, écriture différente, ou préfixe encore à retirer.
Ouvrez le générateur HMAC. Il n'y a pas de sélection de fichier, donc collez le message et le secret. Gardez SHA-256, sauf si le fournisseur indique SHA-384 ou SHA-512. Réglez Encodage de la clé sur UTF-8 pour un secret de type passphrase, sur hex pour une clé hex (préfixe 0x facultatif, longueur paire), ou sur Base64 ou Base64URL si la clé a été stockée ainsi. Avec UTF-8 sur un secret hex, la page signe les caractères 0-9a-f et non les octets de la clé : le digest ne correspond pas, et la cause n'est pas évidente. Le Digest attendu suit les mêmes règles de comparaison que la page hash.
Les mêmes octets dans Node et openssl
createHash et createHmac calculent l'empreinte de la chaîne que vous passez. Ils n'ajoutent pas de saut de ligne. Cela correspond aux outils du navigateur.
Exemple de base
echo ajoute un saut de ligne, donc l'empreinte porte sur d'autres octets. printf non. Pour un fichier sur disque, ne passez -binary que si vous voulez les octets bruts de l'empreinte ; l'hex est la forme texte par défaut.
Exemple de base
Pas d'installation, rien n'est envoyé à un serveur, cinq algorithmes de hash ou trois HMAC, hex / Base64 / Base64URL, et un surlignage du digest attendu. Les limites : texte et UTF-8 seulement, plafond de 32 Mio pour un fichier texte sur la page hash, pas de checksum binaire, pas de HMAC-MD5, pas d'étirement de mot de passe, pas d'assemblage JWT. Utilisez les pages pour inspecter un extrait ou reproduire une signature de webhook. Gardez openssl pour l'artefact livré et bcrypt pour le mot de passe.
Conclusion
Hachez le texte quand vous devez savoir qu'il n'a pas changé. Utilisez HMAC quand un secret partagé doit prouver qui l'a produit. FastMinify fait les deux dans le navigateur. L'outil gère MD5 jusqu'à SHA-512 pour du texte UTF-8 (et des fichiers texte jusqu'à 32 Mio), ainsi que HMAC-SHA-256, SHA-384 ou SHA-512 avec une clé UTF-8, hex ou Base64, écrite en hex, Base64 ou Base64URL sans padding. Il ne calcule pas le checksum d'une archive, ne stocke pas de mot de passe et ne vérifie pas de JWT. Ces tâches restent à openssl, bcrypt et jwt-verify. Partez du hub des outils d'encodage tant que la chaîne n'est encore que du texte.
Hacher ou signer dans le navigateur
Articles connexes

Collez un token et un JWKS pour vérifier une signature RS256, ES256 ou HS256 dans le navigateur. Choix par kid, erreurs mesurées, claims à contrôler.

HTTP/2 et HTTP/3 changent le trajet des fichiers, pas leur poids. Mesures de taille, de compilation et de bundling : ce que la minification apporte encore.

Convertissez un epoch Unix en date lisible et inversement, distinguez secondes et millisecondes, et évitez les pièges de fuseau, de JWT et de changement d’heure.