cybercursus

Les fonctions de hachage : MD5, SHA, à quoi ça sert

10 min · Débutant · 7 août 2026

Sommaire
  1. Ce qu’on attend d’une bonne fonction de hachage
  2. L’effet avalanche, en direct
  3. MD5, SHA-1, SHA-256 : même principe, pas la même confiance

Ce qu’on attend d’une bonne fonction de hachage

Trois propriétés définissent une fonction de hachage utile en sécurité :

  • Taille fixe : quelle que soit la taille de l’entrée, la sortie a toujours la même longueur.
  • Déterminisme : la même entrée produit toujours exactement la même empreinte.
  • Effet avalanche : un changement infime de l’entrée (même un seul caractère) doit produire une empreinte radicalement différente, sans aucun lien visible avec l’empreinte d’origine.

L’effet avalanche, en direct

python
import hashlib

for texte in ["password", "Password", "password "]:
  empreinte = hashlib.sha256(texte.encode()).hexdigest()
  print(f"{texte!r:15} -> {empreinte}")

Une seule majuscule, ou une espace en trop, et l’empreinte n’a plus rien en commun avec la précédente. C’est volontaire : si des entrées proches produisaient des empreintes proches, un attaquant pourrait s’en servir pour deviner l’entrée d’origine par approximations successives.

MD5, SHA-1, SHA-256 : même principe, pas la même confiance

python
import hashlib

message = b"test"
for nom, algo in [("MD5", hashlib.md5), ("SHA-1", hashlib.sha1), ("SHA-256", hashlib.sha256)]:
  empreinte = algo(message).hexdigest()
  print(f"{nom:8} : {empreinte}  ({len(empreinte)} caracteres)")

MD5 (1992) et SHA-1 (1995) sont plus anciens et surtout plus courts, donc plus rapides à calculer. Cette rapidité, combinée à des faiblesses découvertes depuis (des collisions, c’est-à-dire deux entrées différentes produisant volontairement la même empreinte, ont été construites), les rend impropres à un usage sensible aujourd’hui.

Attention

MD5 et SHA-1 restent parfois utilisés pour des usages non sensibles (vérifier qu’un téléchargement n’a pas été corrompu par erreur, par exemple). Pour tout ce qui touche à la sécurité (mots de passe, signatures), la famille SHA-2 (SHA-256 et au-delà) est la référence actuelle.

Qu'appelle-t-on « l'effet avalanche » d'une fonction de hachage ?
Pourquoi MD5 et SHA-1 sont-ils déconseillés pour un usage sensible aujourd'hui ?

Pour aller plus loin

Commentaires

Recherche