Cryptographie6 min read

    MD5 vs SHA-1 vs SHA-256 : différences et usages

    MD5 est cassé depuis 2004, SHA-1 depuis 2017, SHA-256 reste solide pour l'intégrité. Décryptage de leurs différences et de quand utiliser quoi.

    MD5, SHA-1 et SHA-256 sont trois fonctions de hachage cryptographiques. Elles transforment n'importe quel texte en empreinte de longueur fixe. Leurs usages en 2026 sont radicalement différents — voici pourquoi.

    Tableau comparatif

    AlgorithmeAnnéeTaille du hashFamilleÉtat 2026
    MD51991128 bits (32 hex)MDCassé (collisions)
    SHA-11995160 bits (40 hex)SHA-1Cassé (SHAttered)
    SHA-2562001256 bits (64 hex)SHA-2Solide

    MD5 — Cassé depuis 2004

    Conçu par Ron Rivest en 1991, MD5 a été cassé en 2004 par Wang et Yu (Université Shandong) : ils ont prouvé qu'on peut générer deux entrées différentes produisant le même hash (collision). En 2008, des chercheurs ont fabriqué un faux certificat SSL en exploitant cette faille.

    Aujourd'hui, on peut générer des collisions MD5 en moins d'une seconde sur un laptop.

    Usages encore acceptables en 2026 :

    • Checksum d'intégrité non sensible (téléchargement de fichier sur un mirror, vérification de cohérence).
    • Compatibilité avec des systèmes anciens (cache busting, ETags).

    Usages interdits : signature numérique, certificats, stockage de mot de passe, vérification d'authenticité.

    SHA-1 — Cassé depuis 2017

    SHA-1 (Secure Hash Algorithm 1) a été conçu par la NSA et publié par le NIST en 1995. En février 2017, Google et le CWI ont publié SHAttered, première collision SHA-1 pratique : deux PDF distincts produisant le même hash.

    SHA-1 reste utilisé par Git pour identifier les commits — Git a annoncé une migration progressive vers SHA-256 depuis 2020. Les navigateurs majeurs ont retiré SHA-1 des certificats SSL/TLS dès 2017.

    Usages encore acceptables :

    • Git (jusqu'à migration complète vers SHA-256).
    • HMAC-SHA-1 reste cryptographiquement sûr (le mode HMAC ne nécessite pas de résistance aux collisions).

    Comparer les hashs MD5, SHA-1, SHA-256

    SHA-256 — Le standard 2026

    SHA-256 appartient à la famille SHA-2, publiée en 2001 par le NIST (FIPS 180-4). Pas de collision connue à ce jour. Recommandé pour :

    • Signatures numériques et certificats SSL/TLS modernes (TLS 1.3).
    • Vérification d'intégrité critique (blockchain, mises à jour logicielles signées).
    • HMAC pour authentification de messages.
    • Base d'un protocole de hachage de mot de passe via PBKDF2-HMAC-SHA-256 (ne jamais utiliser SHA-256 nu pour les mots de passe).

    Vitesse comparée (hashcat, RTX 4090, 2026)

    AlgorithmeVitesse
    MD5~165 milliards hash/s
    SHA-1~52 milliards hash/s
    SHA-256~22 milliards hash/s

    Plus l'algorithme est complexe, plus il est lent. Pour la vérification d'intégrité, MD5 reste pratique sur de gros fichiers. Pour la sécurité, SHA-256 est obligatoire.

    Et SHA-3 ?

    SHA-3 (Keccak) a été standardisé en 2015 par le NIST. Architecture totalement différente de SHA-2 (sponge function), conçu comme un plan de secours en cas de découverte d'une faille majeure dans SHA-2. Peu utilisé en pratique en 2026 car SHA-256 reste solide. À surveiller dans les années à venir.

    Recommandation 2026

    • Vérification d'intégrité de fichier non critique : MD5 ou SHA-256.
    • Signature, certificat, intégrité critique : SHA-256.
    • Stockage de mot de passe : Argon2id (jamais SHA-256 nu).
    • Nouveau projet sensible : envisager SHA-3 ou BLAKE3 si la lib le permet.

    Pour aller plus loin

    MD5 vs SHA-1 vs SHA-256 : différences et usages — Convertly PASSWORD