logo
GeekFormat

Hash MD5

Entrée0 caractères · 0 octets
示例:
All Hashes (side-by-side)
Computed via Web Crypto API
MD5
32 hex
SHA-1
40 hex
SHA-256
64 hex
SHA-384
96 hex
SHA-512
128 hex

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

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

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

Comment utiliser

  1. Sélectionnez le mode : Texte, Fichier, Par lots ou HMAC-MD5
  2. Configurez les paramètres : encodage, majuscules, regroupement 8 caractères
  3. Entrez du texte, téléchargez un fichier ou collez du contenu par lots
  4. Copiez le résultat du hachage pour vérification ou scripts

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-256

Pourquoi 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 passe

MD5 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 HMAC

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.

术语表

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

AlgorithmeBits de sortieLongueur HexSécuritéVitesseUtilisation recommandée
MD5128 bits32 caractères❌ Cassé (collisions/préimage)ExtrêmeSommes de contrôle de fichiers, déduplication, clés de cache
SHA-1160 bits40 caractères❌ Collisions (2017)RapideGit, compatibilité avec systèmes hérités
SHA-256256 bits64 caractères✅ SécuriséMoyenSignatures numériques, certificats, blockchain
SHA-512512 bits128 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 passeLent (configurable)Stockage de mots de passe

Chronologie des événements de sécurité MD5

AnnéeÉvénementImpact
1991Ron Rivest conçoit MD5 (RFC 1321)Remplace MD4 et devient l'algorithme de hachage principal
1996Premier défaut de pseudo-collision découvert dans MD5La communauté académique commence à remettre en question la sécurité de MD5
2004L'équipe de Wang Xiaoyun démontre l'attaque par collision MD5La sécurité des signatures numériques MD5 est complètement brisée
2008Le malware Flame falsifie des certificats CA par collision MD5NIST déconseille officiellement MD5 pour les signatures numériques
2011NIST SP 800-131A interdit officiellement MD5 pour les usages de sécuritéLes systèmes du gouvernement américain éliminent progressivement MD5
2024Nouvel 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

Code Examples

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); // b10a8db164e0754105b7a99be72e3fe5

MD5 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")

Authoritative References