Générateur de hash MD5 et SHA-256 — Générer et vérifier des hashs de fichiers en ligne
Générez instantanément des hashs MD5, SHA-1, SHA-256, SHA-384 et SHA-512 pour tout texte ou fichier. Créez des codes d’authentification HMAC avec une clé secrète. Passez des formats hexadécimal à Base64. Tout le hachage s’effectue localement dans votre navigateur : aucune donnée n’est envoyée à un serveur.
Générateur de hash
Générez des hashs MD5, SHA-1, SHA-256, SHA-384 et SHA-512 pour du texte ou des fichiers. Prend en charge les codes d’authentification HMAC. Tout le traitement se fait localement dans votre navigateur.
Questions fréquentes
Qu’est-ce qu’une fonction de hash ?
Une fonction de hash est un algorithme mathématique qui prend une entrée de n’importe quelle taille et produit une sortie de taille fixe appelée hash, empreinte ou somme de contrôle. La même entrée produit toujours le même hash, et une modification minime de l’entrée crée une sortie complètement différente. Les fonctions de hash sont à sens unique : on ne peut pas inverser le hash pour retrouver les données d’origine.
Quelle est la différence entre MD5 et SHA-256 ?
MD5 produit un hash de 128 bits (32 caractères hexadécimaux) et est beaucoup plus rapide, mais il est cryptographiquement cassé : des attaques par collision pratiques sont connues depuis 2004. SHA-256 produit un hash de 256 bits (64 caractères hexadécimaux) et fait partie de la famille SHA-2 conçue par la NSA. Aucune attaque pratique n’est connue contre SHA-256, qui reste le standard recommandé pour les usages de sécurité comme les certificats TLS et la blockchain.
MD5 est-il encore sûr ?
Non. MD5 est cryptographiquement cassé et ne doit pas être utilisé pour la sécurité, par exemple les signatures numériques, la validation de certificats ou le hachage de mots de passe. Des collisions peuvent être produites en quelques secondes sur du matériel moderne. MD5 reste toutefois acceptable pour des usages non sécuritaires, comme de simples sommes de contrôle ou la déduplication de données lorsque la falsification malveillante n’est pas une préoccupation.
Comment vérifier l’intégrité d’un fichier avec un hash ?
Téléchargez le fichier et la valeur de hash publiée par la source, souvent une somme SHA-256. Utilisez l’onglet Téléverser un fichier pour générer le hash du fichier téléchargé. Comparez le hash généré avec le hash publié : s’ils sont strictement identiques, le fichier est intact et n’a pas été corrompu ou modifié pendant le transfert.
Qu’est-ce que HMAC et en quoi diffère-t-il d’un hash classique ?
HMAC (Hash-based Message Authentication Code) combine une fonction de hash avec une clé secrète pour produire un code d’authentification. Contrairement à un hash simple, qui vérifie seulement l’intégrité des données, HMAC prouve aussi leur authenticité : seule une personne possédant la clé secrète peut générer le bon HMAC. HMAC est utilisé pour l’authentification d’API (AWS, Stripe), les jetons JWT (HS256 = HMAC-SHA256), les échanges TLS et la vérification de webhooks.
Que sont les tables arc-en-ciel ?
Les tables arc-en-ciel sont des tables de correspondance précalculées qui associent des valeurs de hash à leurs entrées d’origine. Les attaquants les utilisent pour casser des hashs de mots de passe en recherchant le hash dans la table au lieu de tester toutes les possibilités. Elles sont efficaces contre les hashs non salés, d’où l’usage systématique du salage dans le stockage moderne des mots de passe.
Qu’est-ce qu’un sel en hachage ?
Un sel est une valeur aléatoire ajoutée à l’entrée avant le hachage. Chaque mot de passe reçoit un sel unique, si bien que deux utilisateurs ayant le même mot de passe auront des hashs stockés différents. Le salage empêche les attaques par tables arc-en-ciel et rend la précalculation impraticable. Le sel est stocké avec le hash : il n’a pas besoin d’être secret, seulement unique par mot de passe.
Pourquoi utiliser bcrypt ou Argon2 plutôt que SHA-256 pour les mots de passe ?
SHA-256 est conçu pour être rapide, ce qui est un défaut pour le hachage de mots de passe : un attaquant peut tenter des milliards d’essais par seconde. Bcrypt, scrypt et Argon2 sont conçus spécialement pour les mots de passe : ils sont volontairement lents et gourmands en mémoire. Leur facteur de travail configurable peut augmenter avec l’évolution du matériel, ce qui rend la force brute beaucoup moins réaliste.
Deux entrées différentes peuvent-elles produire le même hash ?
En théorie, oui : c’est une collision. Les fonctions de hash associent une infinité d’entrées possibles à un espace de sortie fini, donc des collisions existent forcément. Pour des fonctions sûres comme SHA-256, en trouver une est toutefois irréalisable en pratique avec la technologie actuelle. Pour des algorithmes cassés comme MD5, des collisions peuvent être trouvées en quelques secondes.
Des données quittent-elles mon navigateur avec cet outil ?
Non. Tout le calcul des hashs se fait dans votre navigateur avec l’API Web Crypto et JavaScript. Votre texte et vos fichiers ne sont jamais envoyés à un serveur. Vous pouvez le vérifier en utilisant l’outil hors connexion : il fonctionne de la même manière.
À quoi sert SHA-512 ?
SHA-512 produit un hash de 512 bits (128 caractères hexadécimaux) et fait partie de la famille SHA-2. Il est utilisé dans les applications à haute sécurité, les signatures numériques, les autorités de certification et comme brique de protocoles comme TLS 1.3. Sur les processeurs 64 bits, SHA-512 peut être plus rapide que SHA-256 car son algorithme travaille naturellement sur des mots de 64 bits. Il sert aussi de base à SHA-512/256, utilisé dans certaines cryptomonnaies.
Comment générer un hash MD5 ou SHA-256 d’un fichier sur mon ordinateur ?
Sous Windows, ouvrez PowerShell et exécutez : Get-FileHash -Algorithm SHA256 file.txt (ou remplacez SHA256 par MD5). Sous macOS/Linux, utilisez le terminal : sha256sum file.txt (Linux) ou shasum -a 256 file.txt (macOS). Pour MD5 : md5sum file.txt (Linux) ou md5 file.txt (macOS). Vous pouvez aussi utiliser l’onglet Téléverser un fichier de cette page : le fichier est traité entièrement dans votre navigateur.
Comment générer un hash en Python ou JavaScript ?
En Python : import hashlib; hashlib.sha256(b'hello').hexdigest() renvoie le hash SHA-256. Pour MD5 : hashlib.md5(b'hello').hexdigest(). En JavaScript (Node.js) : crypto.createHash('sha256').update('hello').digest('hex'). Dans le navigateur : await crypto.subtle.digest('SHA-256', new TextEncoder().encode('hello')), puis convertissez l’ArrayBuffer en hexadécimal.
Comment générer un hash en ligne
Une fonction de hash cryptographique convertit n’importe quelle entrée — mot de passe, fichier ou message — en une chaîne de longueur fixe appelée hash, empreinte ou somme de contrôle. Cet outil calcule simultanément les hashs MD5, SHA-1, SHA-256, SHA-384 et SHA-512, entièrement dans votre navigateur avec l’API Web Crypto. Aucune donnée n’est envoyée à un serveur.
- Choisissez l’onglet Texte pour hasher une chaîne, Fichier pour hasher un fichier, ou HMAC pour générer un code d’authentification.
- Tapez ou collez votre texte, ou glissez-déposez un fichier dans la zone de téléversement.
- Les cinq algorithmes de hash sont calculés en temps réel et affichés sous l’entrée.
- Utilisez le sélecteur de format de sortie pour passer de l’hexadécimal minuscule à l’hexadécimal majuscule ou au Base64.
- Cliquez sur le bouton de copie pour copier un hash. Utilisez la section Comparer pour vérifier qu’un hash correspond.
MD5 ou SHA-256 : quel algorithme choisir ?
MD5 et SHA-256 font partie des algorithmes de hash les plus recherchés, mais ils ont aujourd’hui des usages très différents. MD5 a été conçu par Ronald Rivest en 1991 et produit un hash de 128 bits. MD5 est cryptographiquement cassé : des attaques par collision pratiques ont été démontrées en 2004, puis MD5 a été utilisé en 2008 pour forger un certificat SSL frauduleux. Il ne doit pas être utilisé pour des usages de sécurité.
SHA-256, membre de la famille SHA-2 conçue par la NSA, produit un hash de 256 bits sans attaque pratique connue. C’est le standard recommandé pour les certificats TLS, la blockchain (Bitcoin utilise un double SHA-256), les signatures numériques et les applications sensibles. SHA-256 est plus lent que MD5, mais beaucoup plus sûr.
Règle simple : utilisez SHA-256 ou SHA-512 pour tout ce qui touche à la sécurité. MD5 n’est acceptable que pour des sommes de contrôle non sécuritaires, comme la déduplication de données ou la compatibilité avec d’anciens systèmes où la falsification n’est pas un risque.
Tableau comparatif des algorithmes de hash
Ce tableau compare les cinq algorithmes pris en charge par l’outil :
| Algorithme | Taille de sortie | État de sécurité | Vitesse | Usage principal |
|---|---|---|---|---|
| MD5 | 128 bits (32 hex) | Cassé | Très rapide | Sommes de contrôle héritées uniquement |
| SHA-1 | 160 bits (40 hex) | Obsolète | Rapide | Systèmes hérités, Git (en transition) |
| SHA-256 | 256 bits (64 hex) | Sûr | Modérée | Certificats TLS, blockchain, usage général |
| SHA-384 | 384 bits (96 hex) | Sûr | Modérée | Applications gouvernementales et haute sécurité |
| SHA-512 | 512 bits (128 hex) | Sûr | Rapide sur 64 bits | Sécurité maximale, intégrité de gros volumes |
Vérifier l’intégrité d’un fichier avec un hash
Les éditeurs de logiciels publient souvent une somme SHA-256 avec leurs téléchargements afin de vérifier que le fichier n’a pas été corrompu ou modifié pendant le transfert. Pour vérifier un fichier avec cet outil :
- Téléchargez le fichier et notez le hash publié, généralement SHA-256, depuis la source officielle.
- Ouvrez l’onglet Fichier et glissez votre fichier téléchargé dans la zone de téléversement.
- Copiez le hash SHA-256 généré dans les résultats.
- Collez le hash publié dans la section Comparer un hash : si l’outil affiche “Correspondance”, le fichier est authentique.
Vous pouvez aussi vérifier les hashs en ligne de commande : certutil -hashfile file.zip SHA256 sous Windows, sha256sum file.zip sous Linux ou shasum -a 256 file.zip sous macOS.
Qu’est-ce que HMAC et comment fonctionne-t-il ?
HMAC (Hash-based Message Authentication Code) combine une fonction de hash cryptographique avec une clé secrète pour produire un code d’authentification. Contrairement à un hash simple, HMAC prouve à la fois l’intégrité et l’authenticité d’un message : seule une personne qui possède la clé secrète peut générer le bon HMAC.
HMAC est défini dans la RFC 2104 ainsi : HMAC(K, m) = H((K ⊕ opad) || H((K ⊕ ipad) || m)), où H est la fonction de hash, K la clé complétée à la taille de bloc, et ipad/opad des constantes de bourrage fixes (0x36 et 0x5c).
HMAC est utilisé dans les échanges TLS/SSL, l’authentification d’API (AWS Signature V4, webhooks Stripe), la signature de jetons JWT (HS256 = HMAC-SHA256), la signature de requêtes OAuth 1.0 et l’authentification IPsec VPN. Utilisez l’onglet HMAC de cet outil pour générer des valeurs HMAC avec l’un des cinq algorithmes pris en charge.
Génération de hashs dans les langages de programmation
Exemples rapides pour générer des hashs SHA-256 dans des langages courants :
| Langage | Exemple de code SHA-256 |
|---|---|
| Python | hashlib.sha256(b"hello").hexdigest() |
| JavaScript | crypto.subtle.digest("SHA-256", data) |
| PHP | hash("sha256", "hello") |
| Java | MessageDigest.getInstance("SHA-256").digest(bytes) |
| C# | SHA256.HashData(Encoding.UTF8.GetBytes("hello")) |
| Go | sha256.Sum256([]byte("hello")) |
| Bash | `echo -n "hello" |
| PowerShell | Get-FileHash -Algorithm SHA256 file.txt |
Pour MD5, remplacez le nom de l’algorithme : hashlib.md5() en Python, hash("md5", ...) en PHP ou MD5.HashData() en C#. La plupart des langages fournissent des fonctions de hash dans leurs bibliothèques cryptographiques standard.
Usages courants des hashs
- Vérification d’intégrité de fichier — comparez le hash d’un fichier avec la somme publiée par l’éditeur pour détecter corruption ou falsification.
- Stockage de mots de passe — les systèmes modernes stockent des hashs de mots de passe salés avec des algorithmes spécialisés comme bcrypt ou Argon2, jamais du texte clair.
- Signatures numériques — un document est hashé, puis le hash est signé avec une clé privée pour vérifier l’authenticité.
- Blockchain et cryptomonnaies — Bitcoin utilise un double SHA-256 ; Ethereum utilise Keccak-256. Chaque bloc pointe vers le précédent via son hash.
- Déduplication de données — les hashs identifient rapidement les fichiers dupliqués sans comparaison octet par octet.
- Adressage par contenu — Git utilise SHA-1 (migration vers SHA-256), IPFS et Docker utilisent SHA-256 comme identifiants de contenu.
- Authentification d’API — HMAC-SHA256 authentifie les requêtes dans AWS, Stripe et de nombreux systèmes de webhooks.
- SRI (Subresource Integrity) — les navigateurs vérifient les scripts chargés depuis un CDN avec des hashs SHA-384 encodés en Base64 dans l’attribut
integrity.
En savoir plus sur le hachage
- Fonctionnement des fonctions de hash cryptographiques — MD5 vs SHA-256 vs SHA-512 — plongée dans les fonctions de hash, attaques par collision, hachage de mots de passe avec bcrypt/Argon2, HMAC et usages réels dans la blockchain et TLS.
Outils associés
- Encodeur et décodeur Base64 — encodez et décodez des données en Base64, souvent utilisé avec les hashs pour SRI et JWT.
- Convertisseur hexadécimal vers texte — convertissez une sortie de hash hexadécimale en texte lisible ou en octets bruts.
- Convertisseur hexadécimal vers binaire — convertissez des chaînes de hash hexadécimales en représentation binaire.
- Encodeur et décodeur d’URL — encodez en pourcentage les caractères spéciaux des URL, utile lorsque des valeurs de hash passent en paramètres.
- Traducteur binaire — convertissez entre binaire et texte avec ASCII/UTF-8.
- Chiffrement de César — explorez les bases de la cryptographie classique.