MD5 vs SHA-256 : quel hash pour vérifier l’intégrité d’un fichier ?

MD5 et SHA-256 sont deux fonctions de hachage cryptographiques couramment utilisées pour vérifier l’intégrité de fichiers. Toutes deux génèrent une empreinte numérique unique à partir de données, mais avec des niveaux de sécurité radicalement différents. SHA-256 fait partie de la famille SHA-2, conçue pour corriger les faiblesses de MD5 et SHA-1. Cet article explique en détail les différences et vous aide à choisir l’algorithme adapté à votre cas.

Що таке хешування?

Хешування — це процес перетворення вхідних даних будь-якого розміру у фіксований розмір (хеш). Функція хешування має такі властивості:

  • Детермінованість: Один і той же вхід завжди дає один і той же вихід
  • Швидкість обчислення: Легко обчислити хеш для будь-яких даних
  • Незворотність: Неможливо відновити вхідні дані за хешем
  • Стійкість до зіткнень: Важко знайти два різних входи з однаковим хешем
  • Лавинний ефект: Невелика зміна вхідних даних значно змінює вихід

MD5 : 1991, 128 bits, rapide mais cassé

MD5 (Message Digest Algorithm 5) a été conçu par Ronald Rivest en 1991. Il produit une empreinte de 128 bits (16 octets), typiquement représentée par 32 caractères hexadécimaux.

  • Rapide : conçu pour la vitesse, idéal pour les checksums de gros fichiers
  • Collisions connues : il est possible de générer deux fichiers différents avec le même MD5
  • Cassé pour la sécurité : ne doit plus être utilisé pour la cryptographie depuis 2004
  • Utilisation typique : vérification rapide d’intégrité non critique

Exemple de sortie : d41d8cd98f00b204e9800998ecf8427e

SHA-256 : 2001, 256 bits, standard actuel

SHA-256 (Secure Hash Algorithm 256) fait partie de la famille SHA-2 publiée par le NIST en 2001. Il produit une empreinte de 256 bits (32 octets), typiquement représentée par 64 caractères hexadécimaux.

  • Sécurisé : aucune collision pratique connue à ce jour (2026)
  • Plus lent que MD5 : environ 3 à 5 fois plus lent, mais toujours très rapide
  • Recommandé : standard pour la vérification d’intégrité et la cryptographie
  • Variantes : SHA-224, SHA-384, SHA-512, SHA-512/224, SHA-512/256

Exemple de sortie : e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Практичні аспекти

На практиці:

  • MD5 все ще використовується в деяких старих системах через швидкість
  • SHA-256 — це сучасний стандарт для більшості застосувань
  • SHA-512 пропонує ще більшу безпеку для довгострокових потреб
  • Комбінація: Використовуйте SHA-256 для безпеки + MD5 для швидкої перевірки

Tableau comparatif

Critère MD5 SHA-256
Année 1991 2001
Taille de sortie 128 bits 256 bits
Collisions connues Oui (depuis 2004) Non
Sécurité cryptographique Cassé Sécurisé
Vitesse Très rapide Rapide
Utilisation recommandée Checksum non critique Vérification d’intégrité, cryptographie

Конкретні випадки використання

MD5 коли

  • Швидка перевірка цілісності внутрішніх та некритичних даних
  • Сумісність зі старими системами
  • Контрольна сума великих файлів, де швидкість важлива

SHA-256 коли

  • Перевірка цілісності завантажених файлів
  • Будь-яке криптографічне використання
  • Перевірка оновлень програмного забезпечення
  • Зберігання контрольних сум у базі даних

Приклади

Приклад MD5 хешу порожнього рядка: d41d8cd98f00b204e9800998ecf8427e

Приклад SHA-256 хешу порожнього рядка: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Recommandation : préférez SHA-256

Utilisez SHA-256 (ou mieux, SHA-512) pour tous les usages où la sécurité compte : vérification d’intégrité de téléchargements, de mises à jour, de sauvegardes, etc.

MD5 peut être toléré pour des vérifications internes non critiques, mais uniquement si vous comprenez les risques de collisions.

À éviter absolument : MD5 pour le hachage de mots de passe (utilisez Argon2id ou bcrypt) ou pour toute signature cryptographique.

Questions fréquentes

MD5 est-il toujours utilisé aujourd’hui ?

Oui, malheureusement. Beaucoup de systèmes hérités (legacy) utilisent encore MD5 pour les checksums, et certains outils le proposent par défaut pour sa vitesse. Cependant, MD5 n’est plus considéré comme sûr depuis 2004 pour tout usage cryptographique.

Peut-on encore utiliser MD5 pour les checksums de fichiers ?

Pour un usage non critique (vérification rapide sans enjeu de sécurité), MD5 reste acceptable. Pour toute vérification où un attaquant pourrait avoir intérêt à falsifier le fichier, préférez SHA-256 ou mieux.

Quelle est la différence entre SHA-256 et SHA-512 ?

SHA-512 produit une empreinte de 512 bits au lieu de 256, ce qui le rend théoriquement plus sûr à long terme. En pratique, SHA-256 est déjà extrêmement sûr et reste le choix standard. SHA-512 peut être légèrement plus lent sur les architectures 32 bits.

Que signifie « hash my file » ?

« Hasher mon fichier » signifie calculer son empreinte numérique unique. C’est comme une signature qui permet de vérifier que le fichier n’a pas été modifié. Notre générateur de checksum permet de hasher vos fichiers en MD5, SHA-1, SHA-256, SHA-512, etc.