Hash MD5
Outil de hash MD5 en ligne gratuit. Modes texte/fichier/par lots/HMAC-MD5, UTF-8/Latin1, majuscules, regroupement 8 caractères. ⚠️ MD5 est cassé — NE l'utilisez PAS pour stocker des mots de passe.
Recommandations connexes
Qu'est-ce que MD5 ?
MD5 (Message-Digest Algorithm 5) est une fonction de hachage de 128 bits conçue par Ronald Rivest en 1991 (RFC 1321), produisant un résumé hexadécimal fixe de 32 caractères à partir d'une entrée arbitraire. Largement utilisé pour les signatures numériques, la vérification de certificats et le stockage de mots de passe, MD5 a été cassé par l'attaque par collision de Wang et al. en 2004, et le malware Flame a exploité des collisions MD5 pour falsifier un certificat CA de confiance en 2008.
**État de sécurité** : NIST a officiellement déconseillé MD5 pour les signatures numériques dans SP 800-131A (2011). Cependant, MD5 reste utile pour des scénarios non liés à la sécurité : vérifications d'intégrité de fichiers contre la corruption accidentelle, déduplication de données et clés de cache. La question clé : un attaquant bénéficierait-il de la création d'une collision ? Si non, la rapidité de MD5 est un avantage.
**N'utilisez jamais MD5 pour stocker des mots de passe** : MD5 est extrêmement rapide (des milliards de hachages/seconde sur GPU), permettant une force brute instantanée sur les mots de passe courants. Le stockage des mots de passe DOIT utiliser bcrypt, scrypt ou Argon2 — des hachages lents avec des facteurs de coût configurables qui rendent la force brute impossible.
**HMAC-MD5 reste sécurisé** : bien que MD5 simple soit cassé, HMAC-MD5 (code d'authentification de message haché avec clé) reste sécurisé lorsque la clé est inconnue car la construction HMAC ne dépend pas directement de la résistance aux collisions du hachage. La migration vers HMAC-SHA256 est néanmoins recommandée.
L'outil utilise une implémentation MD5 en JavaScript pur (l'API Web Crypto ne prend plus en charge MD5). Tous les calculs s'effectuent localement dans votre navigateur : les fichiers utilisent une lecture incrémentielle fragmentée et ne sont jamais téléchargés sur des serveurs.
Cas d'utilisation
- Intégrité de fichiers : calculez MD5 après téléchargement pour vérifier par rapport aux sommes de contrôle officielles
- Génération de résumés par lots pour les fichiers de configuration ou les notes de version
- Signature HMAC-MD5 pour l'intégration avec des systèmes hérités
- Déduplication de données par comparaison rapide MD5
- Génération de clés de cache comme identifiants uniques courts
- Apprentissage : comprendre les algorithmes de hachage en comparant les sorties MD5/SHA-1/SHA-256
Comment utiliser
- Sélectionnez le mode : Texte, Fichier, Par lots ou HMAC-MD5
- Configurez les paramètres : encodage, majuscules, regroupement 8 caractères
- Entrez du texte, téléchargez un fichier ou collez du contenu par lots
- Copiez le résultat du hachage pour vérification ou scripts
Fonctionnalités
- Quatre modes : Texte, Fichier, Par lots ligne par ligne et HMAC-MD5 couvrant les scénarios de somme de contrôle courants
- Encodage UTF-8/Latin1 sélectionnable pour correspondre aux entrées de différents systèmes
- Sortie en majuscules et regroupement de 8 caractères pour la lisibilité humaine
- Hachage fragmenté de fichiers : lecture incrémentielle pour les gros fichiers évite les problèmes de mémoire
- Mode par lots : chaque ligne est hachée indépendamment avec sortie original→hachage
- Copie des résultats en un clic
Exemples de code
MD5/Hashing in JavaScript (Web Crypto supports SHA, MD5 needs library)
// Note: Web Crypto API does NOT support MD5 (deprecated)
// Use SHA-256 instead for new projects
async function sha256(message) {
const msgBuffer = new TextEncoder().encode(message);
const hashBuffer = await crypto.subtle.digest('SHA-256', msgBuffer);
return Array.from(new Uint8Array(hashBuffer)).map(b => b.toString(16).padStart(2,'0')).join('');
}
sha256('Hello World').then(console.log);
// MD5 in Node.js using crypto module
const crypto = require('crypto');
const md5 = crypto.createHash('md5').update('Hello World').digest('hex');
console.log(md5); // b10a8db164e0754105b7a99be72e3fe5MD5 Hashing in Python
import hashlib
text = 'Hello World'
md5_hash = hashlib.md5(text.encode('utf-8')).hexdigest()
print(md5_hash) # b10a8db164e0754105b7a99be72e3fe5
# File MD5 (chunked for large files)
def md5_file(filepath, chunk_size=8192):
md5 = hashlib.md5()
with open(filepath, 'rb') as f:
while chunk := f.read(chunk_size):
md5.update(chunk)
return md5.hexdigest()
# HMAC-MD5
import hmac
hmac_md5 = hmac.new(b'secret-key', b'Hello World', hashlib.md5).hexdigest()
print(hmac_md5)MD5 Hashing in Java
import java.security.MessageDigest;
import java.nio.charset.StandardCharsets;
public class MD5Example {
public static String md5(String input) throws Exception {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] hash = md.digest(input.getBytes(StandardCharsets.UTF_8));
StringBuilder sb = new StringBuilder();
for (byte b : hash) sb.append(String.format("%02x", b));
return sb.toString();
}
public static void main(String[] args) throws Exception {
System.out.println(md5("Hello World"));
// b10a8db164e0754105b7a99be72e3fe5
}
}
// Note: Use SHA-256 for new code: MessageDigest.getInstance("SHA-256")FAQ
À quoi sert MD5 couramment ?
MD5 est couramment utilisé pour la vérification d'intégrité de fichiers (comme vérifier des téléchargements), la génération rapide de résumés, la compatibilité avec les systèmes hérités, les clés de cache et la déduplication de données dans des scénarios non liés à la sécurité. MD5 produit 128 bits (32 caractères hexadécimaux) et est très rapide, adapté aux scénarios de vérification à faibles exigences de sécurité.
Quelle est la différence entre MD5 et SHA-256 ?
MD5 produit 128 bits (32 hex) et est très rapide mais cassé ; SHA-256 produit 256 bits (64 hex), est plus lent mais n'a pas d'attaques par collision pratiques et est préféré pour les usages critiques de sécurité.
Outil SHA-256Pourquoi MD5 n'est-il pas sûr pour les mots de passe ?
MD5 est extrêmement rapide : les GPU modernes peuvent calculer des milliards de hachages par seconde, et les tables arc-en-ciel viennent à bout des mots de passe courants rapidement. Pour le stockage des mots de passe, utilisez bcrypt, scrypt ou Argon2.
Générateur de mots de passeMD5 est cassé — puis-je encore l'utiliser ?
Absolument PAS pour la sécurité (signatures numériques, mots de passe, TLS). Mais pour des usages non sécurisés (vérification de corruption de fichiers, déduplication, clés de cache), MD5 reste acceptable car les attaquants n'ont aucune raison de créer des collisions.
Les hachages MD5 peuvent-ils être « déchiffrés » ?
MD5 est unidirectionnel et ne peut pas être inversé mathématiquement, mais les tables arc-en-ciel et la force brute peuvent récupérer des mots de passe faibles en quelques secondes. C'est pourquoi MD5 ne doit jamais être utilisé pour stocker des mots de passe.
Les gros fichiers causeront-ils des ralentissements ?
Non. L'outil utilise une lecture incrémentielle fragmentée : les fichiers ne sont pas chargés entièrement en mémoire, donc même les fichiers de plusieurs Go sont traités sans problème avec une interface réactive.
Qu'est-ce que HMAC-MD5 par rapport à MD5 simple ?
HMAC-MD5 est un hachage avec clé qui nécessite une clé secrète. Bien que MD5 simple soit cassé, HMAC-MD5 reste sécurisé lorsque la clé est inconnue (bien que la migration vers HMAC-SHA256 soit recommandée).
Générateur HMACGlossaire
- Fonction de Hachage (Hash Function)
- Une fonction mathématique qui mappe des entrées de longueur arbitraire vers des sorties de longueur fixe. Les bonnes fonctions de hachage fournissent l'unidirectionnalité, la résistance aux collisions et l'effet avalanche.
- Attaque par Collision (Collision Attack)
- Trouver deux entrées distinctes qui produisent la même sortie de hachage. Les collisions MD5 ont été démontrées par Wang et al. en 2004, permettant de falsifier des signatures numériques.
- Attaque de Préimage (Preimage Attack)
- Trouver une entrée qui produit une sortie de hachage donnée. Plus difficile que les collisions, mais une nouvelle recherche de 2024 a considérablement affaibli la résistance à la préimage de MD5.
- Table Arc-en-Ciel (Rainbow Table)
- Tables de précalcul hachage→texte en clair pour casser rapidement les hachages de mots de passe faibles. Le salage defeat les tables arc-en-ciel.
- HMAC (Hash-based Message Authentication Code)
- Code d'authentification de message basé sur le hachage utilisant une clé secrète pour l'intégrité/l'authentification des messages. HMAC-MD5 et HMAC-SHA256 sont des variantes courantes.Générateur HMAC
- bcrypt
- Un algorithme de hachage de mots de passe lent avec salage intégré et facteur de coût configurable, rendant les attaques par force brute d'un coût prohibitif.
- Somme de Contrôle (Checksum)
- Une petite valeur fixe utilisée pour vérifier l'intégrité des données. MD5, SHA-1, SHA-256 sont couramment utilisés comme sommes de contrôle pour détecter la corruption pendant la transmission.
- Effet Avalanche (Avalanche Effect)
- Un petit changement d'entrée (même 1 bit) cause un changement drastique et imprévisible dans le hachage de sortie. MD5 a encore de bonnes propriétés d'avalanche, contribuant à son utilité continue dans les vérifications non sécurisées.
- RFC 1321
- Le standard officiel MD5 soumis à l'IETF par Ronald Rivest en 1992, décrivant les étapes de l'algorithme et les vecteurs de test.
- Hachage Fragmenté (Chunked Hashing)
- Traiter les gros fichiers par blocs plutôt que de charger le fichier entier en mémoire, en mettant à jour l'état du hachage de manière incrémentielle.
Comparaison des algorithmes de hachage courants
| Algorithme | Bits de sortie | Longueur Hex | Sécurité | Vitesse | Utilisation recommandée |
|---|---|---|---|---|---|
MD5 | 128 bits | 32 caractères | ❌ Cassé (collisions/préimage) | Extrême | Sommes de contrôle de fichiers, déduplication, clés de cache |
SHA-1 | 160 bits | 40 caractères | ❌ Collisions (2017) | Rapide | Git, compatibilité avec systèmes hérités |
SHA-256 | 256 bits | 64 caractères | ✅ Sécurisé | Moyen | Signatures numériques, certificats, blockchain |
SHA-512 | 512 bits | 128 caractères | ✅ Sécurisé | Rapide (64 bits) | Scénarios haute sécurité, dérivation de clés |
bcrypt | - | 60 caractères | ✅ Spécialisé mots de passe | Lent (configurable) | Stockage de mots de passe |
Chronologie des événements de sécurité MD5
| Année | Événement | Impact |
|---|---|---|
1991 | Ron Rivest conçoit MD5 (RFC 1321) | Remplace MD4 et devient l'algorithme de hachage principal |
1996 | Premier défaut de pseudo-collision découvert dans MD5 | La communauté académique commence à remettre en question la sécurité de MD5 |
2004 | L'équipe de Wang Xiaoyun démontre l'attaque par collision MD5 | La sécurité des signatures numériques MD5 est complètement brisée |
2008 | Le malware Flame falsifie des certificats CA par collision MD5 | NIST déconseille officiellement MD5 pour les signatures numériques |
2011 | NIST SP 800-131A interdit officiellement MD5 pour les usages de sécurité | Les systèmes du gouvernement américain éliminent progressivement MD5 |
2024 | Nouvel article sur l'attaque de préimage publié | La dernière ligne de défense de MD5 (résistance à la préimage) est brisée |
Authoritative References
- Comparaison sécurisée
- Conversion Binaire
- Chiffre de César
- Code Morse
- Hexadécimal
- Vidéo vers Base64
- Base64 en Vidéo
- Image vers Base64
- Base64 vers image
- Texte vers Base64
- Base64 vers Texte
- Vérificateur de hash de fichier
- Fichier vers Base64
- Base64 vers Fichier
- Audio vers Base64
- Base64 vers Audio
- Chiffrer et déchiffrer AES
- Chiffrement DES
- Encodeur Décodeur Base32
- Encoder et decoder Base58
- Encodage Base64
- Décodage Base64
- Comparaison Base64
- Découpage Base64
- Fusion Base64 multi-lignes
- Formatage Base64
- Validation Base64
- Encodage Base64 par lots
- Décodage Base64 par Lots
- Nettoyage Base64
- Gestion du padding Base64
- Statistiques Base64
- Base64 vers HEX
- Convertisseur Base64 DataURL
- Convertisseur Base64-Hex
- Encodage Base85
- HMAC Générateur
- PBKDF2 Dérivation
- Hash MD5
- Hash SHA-256
- Hachage SHA1
- Hachage SHA512
- Décodeur, Vérificateur et Générateur JWT
- HTML Encode/Decode
- Unicode Escape
- Encodage URL
- Base64 URL-safe
- MIME Base64
- Obfuscation Java
- Obfuscation JavaScript
- Obfuscation PHP
- Obfuscation Python