Qu'est-ce qu'une fonction de hachage cryptographique
Une fonction de hachage cryptographique prend une entrée de taille arbitraire et produit une sortie de taille fixe (le hash). SHA-256 produit un hash de 256 bits (64 caractères hexadécimaux). La fonction est déterministe, à sens unique et sensible à l'effet avalanche.
Propriétés fondamentales
- Déterminisme : même entrée → même hash
- À sens unique : retrouver l'entrée depuis le hash est infaisable
- Effet avalanche : 1 bit d'entrée changé modifie ~50% des bits de sortie
- Résistance aux collisions : extrêmement difficile de trouver deux entrées avec le même hash
SHA-256 vs MD5
MD5 (128 bits) est vulnérable aux collisions depuis 2004. SHA-1 (160 bits) a été compromis en 2017. SHA-256 reste sécurisé et fait partie de la famille SHA-2 standardisée par le NIST.
Principaux cas d'usage
- Intégrité de fichiers (checksum)
- Signatures numériques (DSA, RSA, ECDSA)
- Certificats SSL/TLS
- Blockchain (Bitcoin utilise SHA-256)
- HMAC pour l'authentification des requêtes
Hachage de mots de passe : n'utilisez pas SHA-256 directement
SHA-256 est trop rapide pour hacher les mots de passe. Utilisez toujours des algorithmes lents avec salt : bcrypt (work factor ≥ 12), Argon2id ou scrypt.