Comment générer des hash MD5, SHA-256 et autres
Le hashage convertit n'importe quelle entrée — un mot de passe, un fichier, un message — en une chaîne de longueur fixe. La même entrée produit toujours le même hash, mais le moindre changement dans l'entrée produit un hash complètement différent. Cela rend le hashage essentiel pour la vérification d'intégrité, le stockage de mots de passe et les signatures numériques.
Comment fonctionne le hashage
Une fonction de hash prend une entrée de n'importe quelle taille et produit une sortie de taille fixe :
| Entrée | Hash SHA-256 (16 premiers caractères) |
|---|---|
| hello | 2cf24dba5fb0a30e... |
| Hello | 185f8db32271fe25... |
| hello! | ce06092fb948d9ff... |
Remarquez qu'un seul caractère modifié (h minuscule en H majuscule) ou ajouté change complètement le hash. C'est ce qu'on appelle l'effet d'avalanche.
Algorithmes de hash courants
| Algorithme | Longueur | Statut | À utiliser pour |
|---|---|---|---|
| MD5 | 32 caractères | Cassé (non sûr) | Checksums hérités, usages non sécurisés |
| SHA-1 | 40 caractères | Cassé (non sûr) | Systèmes hérités uniquement |
| SHA-256 | 64 caractères | Sûr | Intégrité de fichier, signatures numériques |
| SHA-512 | 128 caractères | Sûr | Applications à haute sécurité |
SHA-256 est le standard actuel pour la plupart des usages. MD5 et SHA-1 ne devraient être utilisés que pour interagir avec des systèmes hérités qui les exigent.
Comment générer un hash
- Choisissez votre algorithme — sélectionnez MD5, SHA-1, SHA-256, SHA-384 ou SHA-512. Utilisez SHA-256 sauf raison spécifique.
- Saisissez du texte ou importez un fichier — tapez ou collez du texte, ou sélectionnez un fichier à hasher.
- Copiez le hash — le résultat est une chaîne hexadécimale utilisable pour vérification, stockage ou comparaison.
Usages pratiques
Vérification d'intégrité de fichier — téléchargez un fichier et comparez son hash à celui publié officiellement. S'ils correspondent, le fichier est authentique et non corrompu.
Stockage de mots de passe — les applications stockent des hashs de mots de passe, pas les mots de passe eux-mêmes. Quand vous vous connectez, votre entrée est hashée et comparée au hash stocké.
Déduplication de données — hashez de gros fichiers pour déterminer rapidement s'ils sont identiques sans les comparer octet par octet.
HMAC pour la sécurité d'API — utilisez HMAC (hash avec une clé secrète) pour signer les requêtes d'API et s'assurer qu'elles n'ont pas été altérées en transit.
Astuces
- Utilisez SHA-256 par défaut — il est sûr, largement supporté, et c'est la recommandation standard pour les nouveaux projets.
- Ne jamais utiliser MD5 pour la sécurité — les collisions MD5 (entrées différentes produisant le même hash) peuvent être générées en quelques secondes. Il convient aux checksums non sécurisés mais pas à ce qui compte en intégrité.
- Salez vos hashs de mots de passe — ajouter un sel aléatoire à chaque mot de passe avant le hashage empêche les attaques par tables arc-en-ciel. Utilisez bcrypt ou Argon2 pour le hashage de mots de passe en production.
- Le hashage de fichier fonctionne en local — le fichier est traité dans votre navigateur, donc même les gros fichiers ne quittent jamais votre appareil.
Questions fréquentes
Quelle est la différence entre MD5, SHA-1 et SHA-256 ?
MD5 produit un hash de 128 bits (32 caractères hex), SHA-1 produit 160 bits (40 caractères) et SHA-256 produit 256 bits (64 caractères). MD5 et SHA-1 sont considérés comme cryptographiquement cassés. SHA-256 est actuellement sûr et recommandé pour la vérification d'intégrité et la sécurité.
Peut-on inverser un hash pour retrouver la donnée d'origine ?
Non. Les fonctions de hash sont à sens unique par conception. Vous ne pouvez pas inverser mathématiquement un hash vers son entrée. En revanche, les mots de passe courants peuvent être retrouvés dans des tables précalculées (rainbow tables), d'où l'importance de saler les mots de passe avant hashage.
Qu'est-ce que HMAC ?
HMAC (Hash-based Message Authentication Code) combine une fonction de hash avec une clé secrète. Il vérifie à la fois l'intégrité et l'authenticité des données — prouvant qu'elles n'ont pas été altérées et qu'elles ont été produites par quelqu'un connaissant la clé secrète.
Mes données sont-elles envoyées sur un serveur ?
Non. Tout le hashage tourne dans votre navigateur avec l'API Web Crypto. Vos textes et fichiers ne quittent jamais votre appareil.