Générateur de hash — MD5, SHA-1, SHA-256, SHA-512, CRC32 et HMAC

Hachez du texte ou des fichiers en MD5, SHA-1, SHA-256, SHA-384, SHA-512 et CRC32, vérifiez une somme de contrôle ou calculez un HMAC. Les fichiers ne quittent jamais votre appareil.

43 octets. Les sauts de ligne et les espaces de fin comptent ; la plupart des « mauvais hash » viennent d’un saut de ligne invisible.
Algorithmes
MD5…
SHA-1…
SHA-256…
SHA-512…
CRC32…
La casse, les espaces et les deux-points sont ignorés. Une ligne sha256sum entière (« hash nom_de_fichier ») fonctionne aussi.

Le texte et les fichiers sont hachés dans votre navigateur ; les fichiers sont lus depuis votre disque par blocs et ne sont jamais envoyés. Parcourir tous les outils gratuits.

Un problème, ou quelque chose à améliorer ? Nous lisons chaque message et corrigeons vite.

Ce générateur de hash calcule les sommes de contrôle MD5, SHA-1, SHA-256, SHA-384, SHA-512 et CRC32 de textes ou de fichiers, toutes à la fois, dans votre navigateur. Utilisez-le pour vérifier qu’un téléchargement correspond à la somme de contrôle publiée sur le site de l’éditeur, pour obtenir un SHA-256 pour un fichier de verrouillage ou un attribut Subresource Integrity, ou pour calculer une signature HMAC en déboguant un webhook. Le texte est haché sous forme d’octets UTF-8, comme le font sha256sum, OpenSSL et la bibliothèque standard de chaque langage de programmation. Déposez plusieurs fichiers d’un coup pour obtenir un tableau des sommes de contrôle de chacun, plus un fichier compatible sha256sum que vous pouvez vérifier avec sha256sum -c ; ou cochez « Hacher chaque ligne séparément » pour hacher toute une liste de chaînes en une fois.

Les fichiers sont lus depuis votre disque par tranches de 4 Mo et transmis à des fonctions de hachage en streaming : une ISO de plusieurs gigaoctets est vérifiée sans être chargée en mémoire et sans envoyer un seul octet. La progression est affichée et vous pouvez annuler. Une limite à connaître : hacher dans un onglet de navigateur est plus lent qu’avec un outil natif ; pour une image disque de 50 Go, sha256sum ou certutil en ligne de commande seront plus rapides.

Mode d’emploi

  1. Choisissez Texte, Fichier ou HMAC en haut.
  2. Pour du texte, tapez ou collez-le ; les hash se mettent à jour pendant la saisie. Pour un fichier, déposez-le dans la zone ou cliquez pour le choisir.
  3. Décochez les algorithmes inutiles avant de hacher un gros fichier ; chacun ajoute du temps.
  4. Collez la somme de contrôle de l’éditeur dans « Comparer avec la somme de contrôle attendue » pour obtenir un verdict clair : correspondance ou non.
  5. Passez la sortie en Base64 ou en hexadécimal majuscule si le système auquel vous comparez utilise cette forme, puis copiez.
  6. Pour de nombreux fichiers, sélectionnez-les ou déposez-les ensemble : chacun est haché à son tour, et vous pouvez télécharger un .txt au format sha256sum ou un CSV de toutes les sommes de contrôle.

Questions fréquentes

Puis-je obtenir les sommes de contrôle de plusieurs fichiers à la fois ?

Oui. Sélectionnez ou déposez jusqu’à 500 fichiers ensemble dans l’onglet Fichier. Ils sont hachés l’un après l’autre avec les algorithmes cochés, chacun lu par blocs de 4 Mo pour limiter l’utilisation de la mémoire, et un fichier illisible est marqué en échec sans bloquer les autres. Téléchargez les résultats en .txt au format GNU coreutils (identique à la sortie de sha256sum, md5sum ou sha512sum, donc vérifiable avec sha256sum -c) ou en CSV avec tous les algorithmes. Vous pouvez aussi coller une liste SHA256SUMS existante pour vérifier chaque fichier.

Puis-je hacher une liste de chaînes, une par ligne ?

Oui. Dans l’onglet Texte, cochez « Hacher chaque ligne séparément ». Chaque ligne est hachée seule en UTF-8, sans son saut de ligne, jusqu’à 5 000 lignes, et le tableau peut être copié en texte séparé par des tabulations ou téléchargé en CSV.

Quelle est la différence entre MD5, SHA-1 et SHA-256 ?

Ce sont des fonctions de hachage de tailles de sortie et de niveaux de sécurité différents. MD5 produit 128 bits et SHA-1 160 bits ; les deux sont cassées pour un usage de sécurité, car des chercheurs savent créer deux entrées différentes ayant le même hash (MD5 depuis 2004, SHA-1 publiquement depuis l’attaque SHAttered de 2017). SHA-256 produit 256 bits et ne connaît aucune attaque pratique. Utilisez SHA-256 ou SHA-512 pour tout ce qui touche à la sécurité ; MD5 et SHA-1 restent adaptés pour repérer une corruption accidentelle.

Comment vérifier la somme de contrôle d’un fichier ?

Ouvrez l’onglet Fichier, déposez le fichier téléchargé et collez la somme de contrôle de la page de téléchargement dans le champ de comparaison. Une correspondance signifie que votre fichier est, octet pour octet, celui que l’éditeur a haché. Comparez bien ce qui est comparable : une somme SHA-256 fait 64 caractères hexadécimaux, SHA-1 40 et MD5 32. Pour une vraie garantie, récupérez la somme de contrôle en HTTPS sur le site officiel, pas sur le même miroir que le fichier.

Peut-on inverser ou déchiffrer un hash ?

Non. Un hash est une fonction à sens unique : il n’y a ni clé ni rien à déchiffrer. Les sites de « déchiffrement MD5 » se contentent de chercher le hash dans des tables de chaînes courantes déjà hachées. C’est pourquoi le hash d’un mot de passe court ou courant est facile à retrouver, et pourquoi les mots de passe doivent être stockés avec un algorithme lent et salé comme bcrypt ou Argon2, jamais avec un simple SHA-256.

Pourquoi mon hash ne correspond-il pas à celui de mon code ?

Les octets d’entrée diffèrent, généralement de façon invisible. Causes courantes : un saut de ligne final (echo en ajoute un ; utilisez echo -n), des fins de ligne Windows CRLF au lieu de LF, un encodage de texte autre que UTF-8, des espaces en début ou en fin, ou la comparaison d’un condensé hexadécimal avec un condensé Base64. Un hash change complètement pour un seul octet de différence : vérifiez le nombre d’octets affiché sous la zone de texte.

Qu’est-ce que le HMAC et quand en ai-je besoin ?

Le HMAC (RFC 2104) combine une clé secrète et une fonction de hachage pour produire une signature que seul le détenteur de la clé peut créer. Les fournisseurs de webhooks comme Stripe, GitHub et Shopify signent leurs charges utiles en HMAC-SHA256 pour que vous puissiez vérifier qu’une requête vient bien d’eux. Ne le construisez pas vous-même sous la forme sha256(key + message) : avec SHA-256, cette construction est vulnérable aux attaques par extension de longueur, que le HMAC est conçu pour empêcher.

Le CRC32 est-il un hash ?

C’est une somme de contrôle, pas un hash cryptographique. Le CRC32 est très rapide et efficace pour détecter des erreurs accidentelles comme un bit inversé pendant une transmission, c’est pourquoi ZIP, gzip, PNG et Ethernet l’utilisent. Il est trivial à falsifier volontairement : ne l’utilisez jamais pour prouver qu’un fichier n’a pas été altéré.

Quel hash utiliser pour quoi

• Vérifier un téléchargement par rapport à la somme de contrôle de l’éditeur : l’algorithme qu’il a publié, généralement SHA-256.

• Intégrité dans les contextes liés à la sécurité (Subresource Integrity, fichiers de verrouillage de paquets, signature de code, certificats) : SHA-256 ou SHA-384. Les attributs SRI utilisent le Base64, d’où l’existence du sélecteur de sortie.

• Signer une requête d’API ou un webhook avec un secret partagé : HMAC-SHA256.

• Stocker des mots de passe : aucun de ceux-ci. Utilisez bcrypt, scrypt ou Argon2id, volontairement lents et salés. Un hash rapide permet à un attaquant de tester des milliards de combinaisons par seconde sur un GPU.

• Déduplication, clés de cache, ETags et détection de corruption accidentelle : MD5, SHA-1 ou CRC32 conviennent et sont rapides, puisque personne ne cherche à forger une collision.

Comment le hachage des gros fichiers fonctionne ici

L’API WebCrypto intégrée au navigateur ne peut hacher qu’un tampon entièrement chargé en mémoire. Pour du texte, c’est parfait, et cet outil l’utilise. Pour un fichier de 4 Go, il faudrait charger 4 Go dans l’onglet, ce qui échoue ou plante sur la plupart des appareils.

Les fichiers passent donc par des implémentations en streaming de SHA-1, SHA-256, SHA-384, SHA-512 et CRC32 (et spark-md5 pour MD5), qui consomment le fichier 4 Mo à la fois en lisant chaque tranche directement sur le disque avec File.slice. L’utilisation de la mémoire reste stable quelle que soit la taille du fichier. Ces implémentations sont testées octet par octet par rapport au module crypto de Node (basé sur OpenSSL), sur des longueurs limites et des données aléatoires.

Sur un ordinateur portable récent, comptez très grossièrement 150 à 250 Mo par seconde pour MD5, SHA-1 ou SHA-256, et environ un tiers de cela pour SHA-384 et SHA-512, dont l’arithmétique 64 bits doit être émulée par JavaScript avec des morceaux de 32 bits. Tous les algorithmes sélectionnés partagent une seule lecture du fichier : décocher ceux dont vous n’avez pas besoin est le moyen le plus simple d’accélérer.

Lire un fichier de sommes de contrôle

Les distributions Linux et les projets open source publient des fichiers comme SHA256SUMS. Chaque ligne contient le condensé hexadécimal, deux espaces, puis le nom du fichier : c’est le format que produit sha256sum. shasum sur macOS utilise le même format ; les outils de style BSD écrivent plutôt SHA256 (file.iso) = digest.

Vous pouvez coller l’un ou l’autre style de ligne dans le champ de comparaison : l’outil en extrait le condensé et ignore le reste, ainsi que la casse, les espaces et les deux-points. Quand un projet publie aussi un fichier de signature (SHA256SUMS.gpg ou .sig), c’est la vérification de cette signature avec la clé du projet qui prouve que la liste des sommes de contrôle elle-même n’a pas été remplacée.

Outils gratuits similaires

  • Générateur bcrypt — Hachez un mot de passe avec bcrypt au coût de votre choix, vérifiez un mot de passe par rapport à un hash bcrypt et découvrez la signification de chaque partie du hash.
  • Encodeur / décodeur Base64 — Encodez du texte ou des fichiers en Base64, transformez des images en data URI avec extraits CSS et <img>, et décodez du Base64 en fichier avec aperçu. Rien ne quitte votre navigateur.
  • Générateur de mots de passe — Générez un mot de passe aléatoire fort, une phrase de passe facile à retenir ou un code PIN. Tout se passe dans votre navigateur, rien n’est envoyé ni stocké.
  • Générateur TOTP — Transformez un secret Base32 en codes 2FA en direct avec compte à rebours, créez un QR code otpauth:// pour les applications d’authentification, ou lisez une URI existante.