Générateur de Hash
Hachages MD5, SHA-1, SHA-256 et SHA-512 de texte ou de fichiers, bcrypt et vérification de somme de contrôle.
Générateur de hash - MD5, SHA-1, SHA-256 et SHA-512 en ligne
Collez n'importe quel texte ou déposez un fichier : ce générateur de hash gratuit calcule simultanément les empreintes MD5, SHA-1, SHA-256, SHA-384 et SHA-512, ce qui permet de les comparer côte à côte au lieu d'ouvrir cinq outils différents. Un onglet bcrypt distinct crée et vérifie des hash de mots de passe. Tout est calculé dans votre navigateur, donc même un fichier volumineux reste sur votre machine.
Un hash est une empreinte de longueur fixe de vos données. Modifiez un seul caractère, même une espace en fin de ligne, et le résultat change du tout au tout. C'est cette propriété qui rend les empreintes utiles pour vérifier un téléchargement, repérer des doublons, construire des clés de cache et comparer deux versions d'un document sans lire ni l'une ni l'autre.
Qu'est-ce qu'une fonction de hachage ?
Une fonction de hachage cryptographique accepte une entrée de longueur quelconque et renvoie un nombre fixe de bits : 128 pour MD5, 160 pour SHA-1, 256 pour SHA-256 et 512 pour SHA-512, généralement affichés en hexadécimal. La même entrée produit toujours la même empreinte, deux entrées différentes ne se rencontrent pratiquement jamais avec un algorithme solide, et le procédé ne peut pas être inversé. C'est ce dernier point qui est le plus souvent mal compris.
Quel algorithme de hachage choisir ?
| Algorithme | Longueur | Statut actuel |
|---|---|---|
| MD5 | 32 caractères hex | Cassé du point de vue sécurité. Reste utile pour les clés de cache, les ETags et la déduplication. |
| SHA-1 | 40 caractères hex | Obsolète. Des collisions ont été démontrées ; encore présent dans d'anciens objets Git et certificats. |
| SHA-256 | 64 caractères hex | La référence actuelle : sommes de contrôle, signatures, blockchain et signature de requêtes d'API. |
| SHA-512 | 128 caractères hex | Même famille que SHA-256, empreinte plus longue, souvent plus rapide sur du matériel 64 bits. |
Comment générer un hash en ligne
- Choisissez l'onglet Texte pour du texte saisi, l'onglet Fichier pour un fichier, ou l'onglet bcrypt pour un hash de mot de passe.
- Collez votre texte, ou faites glisser un fichier sur la zone de dépôt : le calcul démarre dès que le fichier est choisi.
- Cliquez sur Calculer les empreintes pour calculer toutes les empreintes d'un coup.
- Copiez l'empreinte voulue à l'aide du bouton situé à côté.
- Pour vérifier un téléchargement, collez la valeur publiée dans le champ Vérifier avec une somme de contrôle publiée : l'outil indique l'algorithme qui correspond.
Vérifier la somme MD5 ou SHA-256 d'un fichier
C'est la raison pour laquelle la plupart des gens ouvrent un outil de hachage. Passez sur l'onglet Fichier, déposez l'installateur, l'archive ou l'image ISO téléchargée, et les cinq empreintes sont calculées sur les octets du fichier tels qu'ils sont enregistrés sur le disque. Collez la somme publiée sur la page de téléchargement dans le champ de vérification : une ligne verte nommant l'algorithme signifie que le fichier est arrivé intact, une absence de correspondance signale une corruption ou une altération. Les fichiers jusqu'à 50 Mo sont acceptés, et la lecture est locale : le fichier n'est jamais téléversé.
À quoi servent réellement les empreintes
- Vérifier qu'une image ISO, un installeur ou une archive de version a été téléchargée sans corruption ni altération.
- Repérer des enregistrements, des images ou des envois en double sans comparer tout le contenu.
- Construire des clés de cache et des ETags à partir d'une requête ou d'une page rendue.
- Signer des requêtes d'API : client et serveur hachent la même charge utile puis comparent les résultats.
- Stocker une valeur d'intégrité en base pour rendre visible toute modification ultérieure.
- Le fonctionnement interne de Git, les sauvegardes dédupliquées et le stockage adressé par contenu.
On ne décrypte pas un hash
La recherche "décrypter MD5" est très répandue, mais elle repose sur une erreur : le hachage n'est pas du chiffrement et aucune clé ne permet de l'inverser. Les sites de décryptage se contentent de chercher l'empreinte dans une immense table précalculée d'entrées courantes. Cela fonctionne avec 123456 ou motdepasse et échoue avec tout ce qui sort de l'ordinaire. Pour une transformation réversible, il vous faut du chiffrement ou l'encodeur Base64.
Ne stockez pas les mots de passe en MD5 ou SHA-256
Les fonctions de hachage généralistes sont conçues pour être rapides, et la rapidité est précisément ce que recherche un attaquant disposant d'une base volée : le matériel actuel teste des milliards de combinaisons par seconde. Un mot de passe exige un algorithme volontairement lent avec un sel propre à chaque utilisateur : bcrypt, scrypt ou Argon2. Utilisez les onglets Texte et Fichier pour les sommes de contrôle et les empreintes, et laissez votre framework gérer le stockage des mots de passe.
Générer et vérifier un hash bcrypt
L'onglet bcrypt sert les jours où il vous faut un hash de mot de passe à la main : créer un compte administrateur, écrire une fixture de test ou comprendre pourquoi une connexion échoue. Saisissez le mot de passe, choisissez un Coût de 4 à 14 et un Préfixe, puis cliquez sur Calculer les empreintes. Chaque cran de coût supplémentaire double le travail ; 10 est la valeur par défaut de PHP et 12 un choix courant pour les nouveaux systèmes. $2y$ est ce qu'écrit la fonction password_hash() de PHP, $2b$ est le standard actuel ailleurs, et $2a$ l'ancienne étiquette - les trois exécutent le même algorithme, et chacun se vérifie donc avec une bibliothèque compatible. Un nouveau sel aléatoire est tiré à chaque fois, c'est pourquoi le même mot de passe ne donne jamais deux fois le même hash.
Pour tester un mot de passe face à une valeur enregistrée, collez le hash dans Vérifier un mot de passe avec un hash bcrypt et cliquez sur Vérifier. bcrypt ne lit que les 72 premiers octets d'un mot de passe, et l'outil vous prévient quand la saisie est plus longue. La page générateur bcrypt ouvre directement cet onglet.
Conseils pour éviter les résultats déroutants
- Un retour à la ligne ou une espace finale change complètement l'empreinte. Nettoyez la saisie avant de comparer.
- En hexadécimal, la casse n'a pas d'importance :
A3Feta3fdésignent la même valeur. - Le texte est haché sous forme d'octets UTF-8 ; les mêmes caractères dans un autre encodage donnent une autre empreinte.
- Les sommes publiées par un projet portent sur les octets du fichier, pas sur un champ texte : utilisez l'onglet Fichier pour hacher exactement ces octets.
- Si deux entrées différentes donnent la même empreinte, vous avez trouvé une collision - c'est précisément pour cela que MD5 et SHA-1 ont été retirés.
Rien n'est téléversé
Les cinq empreintes sont calculées côté client en JavaScript. Ni votre texte ni le fichier choisi n'atteignent un serveur : vous pouvez donc prendre l'empreinte de documents internes, de valeurs de configuration ou de données clients pendant votre travail.
Obtenir le hash MD5 ou SHA-256 d'un fichier sous Windows, Linux et macOS
| Système | SHA-256 | MD5 |
|---|---|---|
| Windows (invite de commandes) | certutil -hashfile fichier.iso SHA256 | certutil -hashfile fichier.iso MD5 |
| Windows (PowerShell) | Get-FileHash fichier.iso -Algorithm SHA256 | Get-FileHash fichier.iso -Algorithm MD5 |
| Linux | sha256sum fichier.iso | md5sum fichier.iso |
| macOS | shasum -a 256 fichier.iso | md5 fichier.iso |
| Python | hashlib.sha256(data).hexdigest() | hashlib.md5(data).hexdigest() |
| Node.js | crypto.createHash('sha256').update(data).digest('hex') | idem avec 'md5' |
| PHP | hash('sha256', $s) ou hash_file('sha256', $chemin) | md5($s), md5_file($chemin) |
Le résultat est le même partout : un hash ne dépend que des octets, jamais de l'outil qui l'a calculé. C'est ce qui vous permet de vérifier ici un téléchargement contre une valeur que l'éditeur a produite sur une machine totalement différente.
Outils complémentaires
Les empreintes voyagent rarement seules. Encodez du binaire avec l'encodeur Base64, examinez un jeton signé avec le décodeur JWT, créez des identifiants uniques avec le générateur d'UUID et produisez des secrets robustes avec le générateur de mots de passe.