Générateur de Hash
Calculez des empreintes (MD5, SHA-1, SHA-256/384/512) et HMAC. Support texte ou fichier.
Entrez plusieurs lignes pour calculer un hash par ligne (même algorithme).
Exemples et cas d’usage
- Vérifier l’intégrité d’un fichier en comparant les empreintes (ex. SHA‑256).
- Générer des signatures HMAC pour tester des webhooks.
- Calculer rapidement des hash pour déduplication ou clés de cache.
FAQ
- MD5 est‑il sûr ?
- MD5 est cassé pour la résistance aux collisions ; privilégiez SHA‑256 ou mieux pour la sécurité.
- Où le calcul est‑il fait ?
- Le hash et le HMAC sont exécutés localement dans votre navigateur.
Générateur de hash : guide complet (MD5, SHA, HMAC)
Les fonctions de hachage condensent une entrée (texte ou fichier) en une empreinte de taille fixe. Elles sont utilisées partout : vérification d’intégrité, signatures, indexation, déduplication, stockage de mots de passe (avec sel + KDF), etc. Cet article explique le fonctionnement, les algorithmes disponibles (MD5, SHA‑1, SHA‑256/384/512, SHA‑3), le HMAC, et les limites à connaître.
Comment ça marche ?
Un hachage est une transformation à sens unique : on calcule facilement l’empreinte à partir des données, mais il est (pratiquement) impossible de reconstruire l’entrée depuis l’empreinte.
Les bonnes fonctions de hachage sont rapides, diffusent bien les bits (effet avalanche) et résistent aux collisions (deux entrées différentes produisant la même empreinte).
Les empreintes ont une longueur fixe (ex. SHA‑256 = 256 bits) et sont généralement encodées en hexadécimal (ou Base64).
Avertissement
MD5 et SHA‑1 ne doivent plus être utilisés pour la sécurité. Pour stocker des mots de passe, n’utilisez pas un simple hash : préférez des KDF dédiées (bcrypt/argon2/scrypt) avec sel et facteur de travail.
Algorithmes et usages recommandés
- MD5 — obsolète pour la sécurité (collisions pratiques), acceptable pour des checksums non‑sécurisés ou de la déduplication locale.
- SHA‑1 — également obsolète pour la sécurité (collisions démontrées). À éviter pour les signatures/intégrité critique.
- SHA‑256/384/512 — standards robustes (SHA‑2). SHA‑256 est l’option par défaut à privilégier.
- SHA‑3 — famille plus récente basée sur Keccak ; rarement nécessaire côté navigateur mais pertinente en contexte crypto avancé.
- HMAC (avec SHA‑2/3) — pour authentifier un message avec un secret partagé (webhooks, signatures d’API).
Longueur d’empreinte (bits) — plus grand ⇒ moins de collisions
Résumé comparatif des algorithmes
| Algorithme | Taille empreinte | Vitesse (≈) | Sécurité actuelle | Cas d’usage |
|---|---|---|---|---|
| MD5 | 128 bits | Très rapide | Cassé (collisions) | Checksum non‑sécurisé, déduplication locale |
| SHA‑1 | 160 bits | Rapide | Cassé (collisions) | Compat héritage, à remplacer |
| SHA‑256 | 256 bits | Rapide | Recommandé | Intégrité, signatures, stockage mot de passe (avec sel + KDF) |
| SHA‑384 | 384 bits | Moyen | Recommandé | Conformité renforcée (politiques strictes) |
| SHA‑512 | 512 bits | Moyen | Recommandé | Authentification, empreintes longues, archives |
HMAC : authentifier un message
HMAC (Hash‑based Message Authentication Code) combine une fonction de hachage avec une clé secrète pour garantir l’intégrité et l’authenticité du message.
Formule conceptuelle : HMAC = hash( (K ⊕ opad) ∥ hash((K ⊕ ipad) ∥ message) ), où K est la clé (ajustée au bloc par padding/troncature).
Dans la pratique, utilisez HMAC‑SHA‑256 (ou supérieur) et gérez les clés en toute sécurité (longueur suffisante, stockage côté serveur, rotation).
Exemples concrets
- Comparer l’empreinte d’un fichier téléchargé avec celle fournie par l’éditeur (intégrité).
- Signer un webhook Stripe/GitHub via HMAC‑SHA‑256 et vérifier la signature côté récepteur.
- Générer des clés de cache stables (hash du contenu) pour invalider automatiquement lors d’un changement.
Informations à visée pédagogique, non contractuelles. Adaptez le choix de l’algorithme à votre politique de sécurité et aux exigences de conformité.