Générateur de hachage
Calculez d'un coup les empreintes MD5, SHA-1, SHA-2, SHA-3, BLAKE2 et CRC-32 d'un texte ou d'un fichier.
Épinglez vos outils ici. Ils sont enregistrés dans ce navigateur.
Épinglez un outil et son autocollant arrive ici.
Calculez d'un coup les empreintes MD5, SHA-1, SHA-2, SHA-3, BLAKE2 et CRC-32 d'un texte ou d'un fichier.
Une fonction de hachage transforme une entrée de longueur quelconque en une empreinte courte de longueur fixe. La même entrée donne toujours la même empreinte, et avec les fonctions cryptographiques de cette page, changer un seul bit produit une empreinte sans rapport apparent avec la première. L'empreinte sert donc à identifier un contenu : si deux empreintes diffèrent, les entrées diffèrent, et si elles sont égales, les entrées sont presque certainement identiques, sans avoir à les comparer octet par octet.
On s'en sert typiquement pour vérifier un téléchargement avec le checksum publié par son éditeur, pour repérer les fichiers en double ou modifiés, et pour construire des clés de cache.
Pour tout ce qui touche à la sécurité, utilisez SHA-256, SHA-512, SHA-3 ou BLAKE2. MD5 et SHA-1 sont cassés pour les usages de sécurité, car on sait produire volontairement deux entrées différentes ayant la même empreinte, mais ils restent courants comme simples checksums. CRC-32 n'est pas un hachage cryptographique et ne détecte que les corruptions accidentelles.
Aucun d'eux ne convient au stockage des mots de passe, car ils sont conçus pour être rapides. Pour les mots de passe, utilisez une fonction lente et salée comme bcrypt.
Ici, SHA3-256 est la fonction normalisée par la FIPS 202. Le Keccak-256 d'Ethereum est antérieur à cette norme et donne des empreintes différentes pour la même entrée.
Les empreintes sont calculées par les packages de hachage de Go (la bibliothèque standard, et golang.org/x/crypto pour BLAKE2), compilés en WebAssembly et exécutés dans un Web Worker, hors du thread principal de la page. Un fichier est lu par tranches de 8 MB : un gros fichier est donc haché sans être chargé en entier en mémoire, et il ne quitte pas votre appareil.
Une empreinte est une suite d'octets. hex et HEX écrivent chaque octet sous forme de deux chiffres hexadécimaux, et base64 écrit les mêmes octets en Base64, la forme utilisée dans les attributs Subresource Integrity. Le champ de comparaison accepte les deux notations, avec ou sans le nom de l'algorithme devant, comme dans sha256-… ou sha256:….
Non. Le fichier est lu par votre navigateur et haché sur votre appareil. L'outil ne l'envoie nulle part, et la Content-Security-Policy du site n'autorise la page à se connecter à aucun autre hôte.
La cause habituelle est une différence invisible dans l'entrée : un saut de ligne final, des fins de ligne Windows, un BOM ou un autre encodage de texte. Cet outil hache les caractères du champ encodés en UTF-8, sans rien ajouter. Un saut de ligne dans le champ est toujours un simple LF : pour hacher un texte avec des fins de ligne Windows, enregistrez-le dans un fichier et hachez ce fichier.
Non. Une fonction de hachage perd de l'information, il n'y a donc rien à déchiffrer. Les entrées courtes ou courantes peuvent tout de même être retrouvées en devinant et en comparant, c'est pourquoi les mots de passe exigent une fonction lente et salée.
Ce sont deux conceptions différentes, toutes deux normalisées par le NIST. SHA-2, la famille de SHA-256 et SHA-512, est le choix par défaut depuis longtemps. SHA-3 repose sur la construction en éponge Keccak et a été normalisé comme alternative de conception différente, au cas où une faiblesse serait un jour découverte dans SHA-2. Les deux sont considérés comme sûrs aujourd'hui.
Elle s'ouvre dans sa propre fenêtre et continue de fonctionner hors ligne.
Pour l'installer, touchez le bouton Partager, puis « Sur l'écran d'accueil ».