Tous les articles

Hash Generator : en quoi MD5, SHA-1 et SHA-256 diffèrent

La CNIL recommande, dans ses guides sur la pseudonymisation au titre du RGPD, de ne jamais stocker un identifiant personnel (numéro de sécurité sociale, e-mail) en clair quand seule une comparaison ou une indexation est nécessaire — un hachage salé du champ suffit et empêche de retrouver la valeur d'origine en cas de fuite de la base.

Ce que toutes les fonctions de hachage ont en commun

La propriété clé est le déterminisme : les mêmes données en entrée donnent toujours le même hachage. La seconde propriété est l'effet avalanche : changer un seul bit dans l'entrée change complètement le résultat, si bien qu'il est impossible de deviner à partir du hachage à quel point deux fichiers d'origine se ressemblent.

Pourquoi MD5 et SHA-1 sont jugés dangereux

Pour ces deux algorithmes, on a trouvé des moyens pratiques de créer deux ensembles de données différents avec le même hachage — ce qu'on appelle une collision. Cela les rend inadaptés là où la robustesse cryptographique compte, même s'ils sont encore utilisés là où seule une vérification rapide d'intégrité est nécessaire.

SHA-256 et la famille SHA-2

SHA-256 génère un hachage de 256 bits et n'a, à ce jour, aucune collision pratique connue. C'est l'algorithme le plus couramment recommandé pour pseudonymiser un identifiant avant stockage, justement parce qu'il est impossible à inverser.

Pourquoi c'est utile

  • Vérifier l'intégrité de fichiers téléchargés en les comparant à un hachage publié.
  • Pseudonymiser un identifiant personnel avant de l'enregistrer dans une base de données, conformément aux recommandations de la CNIL.
  • Créer des empreintes courtes et uniques pour de gros volumes de données.

Pourquoi SHA-3 n'a pas remplacé SHA-2

SHA-3 a été choisi vainqueur d'un concours distinct organisé par le NIST, au cas où une vulnérabilité fondamentale serait un jour découverte dans SHA-2 — c'est une « assurance » reposant sur une construction interne fondamentalement différente (Keccak), et non un successeur au sens d'un remplacement. Comme aucune attaque pratique contre SHA-2 n'a été trouvée à ce jour, SHA-256 reste le standard par défaut dans la plupart des systèmes.

Essayer l'outil