Outils Malins

Hash MD5 / SHA-1 / SHA-256 / SHA-512

Calculez les 4 empreintes cryptographiques d'un texte simultanément. MD5 implémenté en JS, SHA via Web Crypto API natif. 100 % local.

Hash MD5 / SHA-1 / SHA-256 / SHA-512

Empreintes cryptographiques d'un texte. Web Crypto API natif pour SHA, polyfill MD5.

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

Une fonction de hachage transforme une donnée d'entrée de taille quelconque (texte, fichier, image) en une empreinte de taille fixe (digest). Caractéristiques d'une bonne fonction cryptographique :

  • Déterminisme : même entrée → même sortie, toujours.
  • Unidirectionnelle : impossible de retrouver l'entrée depuis la sortie.
  • Effet avalanche : un seul bit modifié → empreinte totalement différente.
  • Résistance aux collisions : pratiquement impossible de trouver deux entrées avec la même empreinte.

Comparaison des algorithmes

AlgorithmeTailleAnnéeStatut
MD5128 bits1991Cassé — checksum uniquement
SHA-1160 bits1993Cassé (SHAttered 2017) — déprécié
SHA-256256 bits2001✅ Sécurisé — standard actuel
SHA-512512 bits2001✅ Sécurisé — plus rapide en 64-bit
SHA-3 (Keccak)224-512 bits2015✅ Sécurisé — successeur SHA-2

Cas d'usage par algorithme

  • MD5 : checksum de fichier (intégrité, pas sécurité). Détection de modification non-malveillante.
  • SHA-256 : signatures numériques, certificats SSL/TLS, blockchains (Bitcoin), Git, intégrité de paquets logiciels.
  • SHA-512 : similaire à SHA-256 mais 64-bit, plus rapide sur les CPU modernes.
  • HMAC-SHA256 : authentification de messages avec clé secrète (API).
  • JAMAIS pour les mots de passe : utiliser Argon2id, bcrypt ou scrypt.

Pourquoi pas SHA pour les mots de passe ?

Les fonctions SHA sont conçues pour être rapides. Un GPU moderne calcule des milliards de SHA-256 par seconde. Pour un attaquant qui a volé une base de mots de passe hashés, cela permet d'essayer des milliards de combinaisons par seconde. Les fonctions spécifiques mots de passe (Argon2, bcrypt, scrypt) sont volontairement lentes et coûteuses en mémoire — elles ralentissent l'attaque par force brute par un facteur énorme.

Pièges courants

  • Mot de passe avec SHA seul : faille critique. Ajouter au minimum un salt + bcrypt.
  • MD5 ou SHA-1 pour signature : collision trouvable, signature falsifiable.
  • Comparer deux hashs avec == : timing attack. Utiliser crypto.timingSafeEqual (Node).
  • Confondre hash et chiffrement : un hash n'est pas réversible, un chiffrement oui.

Vérifier l'intégrité d'un fichier

# macOS / Linux
sha256sum fichier.zip
shasum -a 256 fichier.zip   # macOS

# Windows PowerShell
Get-FileHash fichier.zip -Algorithm SHA256

# Vérifier face à un .sha256 fourni
sha256sum -c fichier.zip.sha256

Questions fréquentes

MD5 sûr ?

Non, cassé. Checksum uniquement, pas sécurité.

Quel hash utiliser ?

SHA-256 par défaut. SHA-3 pour le futur.

Pour mot de passe ?

Argon2id, bcrypt ou scrypt — jamais SHA seul.

Réversible ?

Non. Un hash est unidirectionnel par construction.

Effet avalanche ?

1 bit changé → empreinte totalement différente.

Outils complémentaires

Sources

  • NIST FIPS 180-4 — Secure Hash Standard (csrc.nist.gov)
  • RFC 1321 — MD5 Message-Digest Algorithm
  • RFC 9106 — Argon2 (mot de passe)
  • MDN — SubtleCrypto.digest()