Aller au contenu
ToolsMinify logo
Tous les articles

SHA-256 vs MD5 - Quel hachage devriez-vous utiliser ? (2026)

Comparaison entre SHA-256 et MD5 : longueur de l'empreinte, vitesse, résistance aux collisions et sécurité réelle. Découvrez pourquoi MD5 est compromis, dans quels cas il reste acceptable, quand passer à SHA-256 et pourquoi les mots de passe nécessitent bcrypt ou Argon2 plutôt que l'un de ces algorithmes.

Mis à jour 19 juillet 20267 min de lecture

Utilisez Générateur de hachage - gratuit

Ouvrez l'outil en ligne et appliquez ce que vous avez appris dans ce guide.

Ouvrir Générateur de hachage

MD5 et SHA-256 sont deux des fonctions de hachage les plus largement utilisées, et elles apparaissent aux mêmes endroits : sommes de contrôle des fichiers, vérification des téléchargements, contrôles de l'intégrité des données et (par erreur) stockage des mots de passe. Mais ils ne sont pas interchangeables. MD5 est plus ancien et plus rapide, mais il est considéré comme cryptographiquement défectueux depuis deux décennies, tandis que SHA-256 est la valeur par défaut moderne à laquelle font confiance les certificats TLS, les signatures numériques et les blockchains. Ce guide compare SHA-256 et MD5 en termes de longueur, de vitesse et de sécurité, explique exactement pourquoi MD5 échoue et montre où chacun est toujours approprié.

Réponse rapide

Utilisez SHA-256 pour tout ce qui concerne la sécurité : vérification de l'intégrité, signatures numériques et sommes de contrôle sur lesquelles vous comptez réellement. MD5 est brisé par des attaques de collision pratiques et ne doit être utilisé que pour des tâches non liées à la sécurité, comme une vérification rapide contre une corruption accidentelle. Et n'utilisez ni l'un ni l'autre pour stocker les mots de passe - utilisez un algorithme lent et salé tel que bcrypt, scrypt ou Argon2.

Qu'est-ce qu'une fonction de hachage ?

Une fonction de hachage cryptographique prend n'importe quelle entrée (un mot, un fichier, un gigaoctet de données) et produit une chaîne de longueur fixe appelée hachage, résumé ou empreinte digitale. La même entrée produit toujours la même sortie, mais le processus ne fonctionne que dans un seul sens : vous ne pouvez pas prendre un hachage et revenir en arrière pour récupérer les données d'origine. MD5 et SHA-256 sont des fonctions de hachage de ce type ; la différence réside dans l’ampleur de leur production et dans la difficulté à les attaquer.

Un bon hachage cryptographique devrait avoir trois propriétés, et les comprendre est la clé pour comprendre pourquoi MD5 échoue alors que SHA-256 ne échoue pas.

  • Déterministe et de longueur fixe : la même entrée produit toujours le même résumé, et chaque résumé a la même taille quelle que soit la longueur de l'entrée.
  • Résistance à la pré-image : étant donné un hachage, il est impossible de trouver une entrée qui le produit, vous ne pouvez donc pas l'inverser.
  • Résistance aux collisions : il est impossible de trouver deux entrées différentes produisant le même hachage. C'est exactement la propriété que MD5 a perdue.

Les hachages montrent également l'effet d'avalanche : modifiez un seul caractère - ajoutez même un espace de fin - et environ la moitié des bits de sortie s'inversent, produisant un résumé complètement différent. C’est ce qui rend le hachage utile pour détecter si les données ont changé.

MD5 : rapide mais cassé

MD5 (Message-Digest Algorithm 5) a été conçu par Ron Rivest en 1991. Il produit un résumé de 128 bits, écrit sous forme de 32 caractères hexadécimaux. Par exemple, le MD5 de la chaîne de trois lettres abc est 900150983cd24fb0d6963f7d28e17f72. MD5 est rapide et était autrefois utilisé presque partout pour les sommes de contrôle, le hachage de mots de passe et les certificats numériques.

Pourquoi MD5 est cassé

Le problème fatal avec MD5 concerne les collisions. En 2004, les chercheurs ont démontré un moyen pratique de générer deux entrées différentes avec le même hachage MD5, et depuis, les attaques sont devenues plus rapides et moins coûteuses. Aujourd’hui, une collision peut se produire sur un ordinateur ordinaire en quelques secondes. Étant donné que la résistance aux collisions est la propriété dont dépendent la plupart des utilisations de sécurité, MD5 est considéré comme cryptographiquement cassé.

Ce n’est pas seulement théorique. En 2012, le malware Flame a utilisé une collision MD5 pour falsifier un certificat de signature de code Microsoft, le faisant passer pour une mise à jour légitime de Windows. Les collisions de préfixes choisis permettent également de créer deux fichiers - par exemple, un document inoffensif et un autre malveillant - qui partagent le même MD5, de sorte qu'une somme de contrôle MD5 ne peut plus prouver qu'un fichier est authentique.

Où MD5 est toujours correct

MD5 n’est pas inutile - ce n’est tout simplement pas un outil de sécurité. Cela convient toujours aux tâches non contradictoires, comme une somme de contrôle rapide pour détecter une corruption accidentelle de fichiers, une table de hachage ou une clé de cache, ou la déduplication de fichiers où personne n'essaye délibérément de forcer une collision. Dès que la sécurité ou la confiance est impliquée, passez à SHA-256.

SHA-256 : la valeur par défaut moderne

SHA-256 fait partie de la famille SHA-2, publiée par le NIST en 2001. Il produit un résumé de 256 bits, écrit sous forme de 64 caractères hexadécimaux. Le SHA-256 d'abc est ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad - remarquez qu'il est exactement deux fois plus long que le résumé MD5 ci-dessus. SHA-256 n'a aucune attaque de collision pratique connue et est le cheval de bataille derrière les certificats TLS/HTTPS, la signature de logiciels, les identifiants d'objets Git et la blockchain Bitcoin.

Il convient de mentionner SHA-1, l'algorithme entre MD5 et SHA-256. SHA-1 produit un résumé de 160 bits et a également été interrompu par une collision pratique (l'attaque SHAttered de 2017), il est donc également obsolète. Lorsque vous avez besoin d'un hachage sécurisé, SHA-256 est la valeur par défaut sûre et bien prise en charge ; SHA-384 et SHA-512 offrent des résumés encore plus volumineux lorsque vous souhaitez une marge supplémentaire.

SHA-256 vs MD5 : comparaison côte à côte

Voici comment les deux algorithmes se comparent sur les facteurs les plus importants.

  • Longueur du résumé - MD5 est de 128 bits (32 caractères hexadécimaux) ; SHA-256 est de 256 bits (64 caractères hexadécimaux).
  • Année d'introduction - MD5 en 1991 ; SHA-256 (famille SHA-2) en 2001.
  • Vitesse - MD5 est plus rapide à calculer ; SHA-256 est légèrement plus lent mais suffisamment rapide pour pratiquement toutes les utilisations.
  • Résistance aux collisions - MD5 est cassé (collisions pratiques depuis 2004) ; SHA-256 n’a aucune collision pratique connue.
  • État de sécurité : MD5 est obsolète pour toute utilisation en matière de sécurité ; SHA-256 est recommandé et largement fiable.
  • Utilisations courantes aujourd'hui - MD5 : sommes de contrôle héritées, clés de cache, déduplication non liée à la sécurité ; SHA-256 : vérification d'intégrité, signatures numériques, certificats, blockchains.

Ce qu'il faut retenir : MD5 ne gagne que sur la vitesse brute, et cet avantage en termes de vitesse compte rarement. Dans chaque dimension impliquant la confiance, SHA-256 gagne.

Quand utiliser chacun

Utilisez SHA-256 (ou plus fort) lorsque

  • Vous vérifiez qu'un fichier téléchargé correspond à la somme de contrôle de l'éditeur.
  • Vous créez ou vérifiez des signatures numériques et des certificats.
  • Vous générez des identifiants adressés par le contenu, tels que des validations Git, des clés de déduplication ou des caches lorsque l'exactitude est importante.
  • Toute situation dans laquelle quelqu'un pourrait délibérément essayer de simuler un hachage correspondant.

MD5 n'est acceptable que lorsque

  • Vous avez besoin d’une vérification rapide de toute corruption accidentelle sur des données internes fiables.
  • Vous créez une clé de table de hachage ou une clé de cache non liée à la sécurité.
  • Vous devez interagir avec un système existant qui ne comprend que MD5 - et aucune sécurité n'est revendiquée.

N'utilisez pas non plus SHA-256 pour les mots de passe

Une erreur courante consiste à mettre à niveau le stockage des mots de passe de MD5 vers SHA-256 et à supposer que le problème est résolu. Ce n'est pas. SHA-256 est conçu pour être rapide, et la vitesse est exactement ce que vous ne voulez pas pour les mots de passe : il permet à un attaquant qui vole votre base de données d'essayer des milliards de suppositions par seconde. Les hachages rapides à usage général ne sont pas un bon outil pour les informations d’identification.

Pour les mots de passe, utilisez un algorithme de hachage de mot de passe dédié, délibérément lent et salé :

  • Argon2 - la recommandation moderne et gagnante du concours de hachage de mot de passe ; mémoire difficile à résister aux attaques GPU.
  • bcrypt - testé au combat et largement disponible, avec un facteur de travail réglable.
  • scrypt - dur en mémoire comme Argon2 et une alternative solide.

Chacun d'eux ajoute un sel aléatoire unique par mot de passe et vous permet d'augmenter le facteur de travail au fil du temps, c'est pourquoi ils - et non MD5 ou SHA-256 - constituent le bon choix pour stocker les informations d'identification des utilisateurs.

Questions fréquemment posées

MD5 est-il sécurisé ?

Non. MD5 n'est pas sécurisé à des fins reposant sur la résistance aux collisions, telles que les signatures numériques, les certificats ou la vérification qu'un fichier n'a pas été falsifié. Les attaques par collision pratiques existent depuis 2004 et sont désormais simples à exécuter. MD5 n’est acceptable qu’en tant que somme de contrôle rapide contre une corruption accidentelle et non malveillante.

SHA-256 est-il meilleur que MD5 ?

Oui, pour la sécurité. SHA-256 produit un résumé plus long de 256 bits et n'a aucune attaque de collision pratique connue, c'est donc le bon choix pour la vérification de l'intégrité, les signatures et les certificats. Le seul avantage de MD5 est d'être légèrement plus rapide, ce qui ne compense presque jamais sa sécurité brisée.

MD5 ou SHA-256 peuvent-ils être déchiffrés ou inversés ?

Non. Le hachage est à sens unique, il n'y a donc rien à déchiffrer - vous ne pouvez pas calculer l'entrée originale à partir d'un hachage. Les attaquants font plutôt deviner les entrées et les hacher jusqu'à ce que l'une d'elles corresponde, en utilisant des tables arc-en-ciel ou par force brute. C'est pourquoi les hachages rapides comme MD5 et SHA-256 non salés sont dangereux pour les mots de passe.

SHA-256 est-il beaucoup plus lent que MD5 ?

SHA-256 est plus lent que MD5, mais pour les charges de travail typiques (hachage de fichiers, chaînes ou charges utiles API), la différence est négligeable sur le matériel moderne. Le gain de sécurité dépasse de loin le faible coût en termes de performances, la vitesse est donc rarement une bonne raison de choisir MD5.

Dois-je utiliser MD5 ou SHA-256 pour les mots de passe ?

Ni tout seul. Les deux sont des hachages rapides à usage général, ce qui facilite les devinettes hors ligne. Utilisez plutôt une fonction de hachage de mot de passe lente et salée telle que Argon2, bcrypt ou scrypt.

Par quoi remplacer MD5 ?

Pour les sommes de contrôle et l’intégrité, remplacez MD5 par SHA-256 (ou SHA-512). Pour le stockage du mot de passe, remplacez-le par Argon2, bcrypt ou scrypt. Évitez SHA-1 en remplacement, car il a également été brisé par une attaque de collision pratique.

Générez instantanément un hachage SHA-256

Utilisez le [Hash Generator] gratuit (/developer-tools/hash-generator) pour créer des résumés SHA-256, SHA-1, SHA-384 ou SHA-512 à partir de n'importe quel texte directement dans votre navigateur - rien n'est téléchargé. Le Web Crypto API du navigateur n'inclut pas MD5, ce qui constitue un coup de pouce utile vers un choix plus sûr.

Utilisez Générateur de hachage - gratuit

Ouvrez l'outil en ligne et appliquez ce que vous avez appris dans ce guide.

Ouvrir Générateur de hachage

Articles connexes