Générateur de hachage (SHA-1, SHA-256, SHA-384, SHA-512)
Calculez des hachages cryptographiques de texte ou de fichiers localement : SHA-1, SHA-256, SHA-384 et SHA-512.
Chargement de Générateur de hachage (SHA-1, SHA-256, SHA-384, SHA-512)… Si rien ne se passe, activez JavaScript.
Une fonction de hachage cryptographique est un algorithme mathématique qui prend une entrée de longueur arbitraire et produit une sortie de taille fixe, le hachage ou condensé, qui paraît aléatoire mais est entièrement déterministe. La même entrée produit toujours le même hachage, mais changer ne serait-ce qu'un seul bit de l'entrée produit un condensé complètement différent (l'effet avalanche). Cette propriété à sens unique signifie qu'il est calculatoirement infaisable de remonter d'un hachage à son entrée d'origine, ce qui fait des fonctions de hachage un fondement de la sécurité informatique. La famille SHA (Secure Hash Algorithm) a été conçue par la National Security Agency et normalisée par le NIST : SHA-1 en 1995, SHA-256/384/512 (collectivement SHA-2) en 2001.
Exemples
hello
5d41402abc4b2a76b9719d911017c592
MD5 (128 bits). Rapide, mais cassé pour la sécurité ; à n'utiliser que pour des sommes de contrôle.
hello
aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d
SHA-1 (160 bits). Déconseillé pour les signatures.
hello
2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
SHA-256 (256 bits). La valeur par défaut polyvalente actuelle.
Questions fréquentes
Mes données sont-elles téléversées vers un serveur ?
Quelle est la différence entre SHA-256, SHA-384 et SHA-512 ?
Quand utiliserais-je un hachage dans un vrai projet ?
Pourquoi MD5 n'est-il pas disponible ?
Puis-je hacher un fichier, et y a-t-il une limite de taille ?
L'outil fonctionne-t-il hors ligne ?
Puis-je utiliser la sortie du hachage directement comme mot de passe ou clé d'API ?
SHA-1 est-il encore sûr à utiliser ?
Quel est le format de la sortie du hachage, et puis-je la convertir en Base64 ?
Qu'est-ce qu'une « collision de hachage » et pourquoi est-ce important ?
À propos de Générateur de hachage (SHA-1, SHA-256, SHA-384, SHA-512)
Les fonctions de hachage sont utilisées partout dans les logiciels modernes. Les systèmes de stockage de mots de passe hachent les mots de passe des utilisateurs avec un sel supplémentaire, de sorte que même si la base de données est volée, les mots de passe en clair restent inconnus. Les outils d'intégrité de fichiers distribuent des sommes de contrôle SHA-256 à côté des téléchargements pour que les utilisateurs vérifient qu'un fichier n'a pas été altéré en transit. Git utilise SHA-1 (et migre vers SHA-256) pour adresser chaque commit, arbre et blob d'un dépôt. Les certificats numériques, les poignées de main TLS, les jetons d'authentification HMAC et les chaînes de signature de code dépendent tous des hachages SHA-2. Les réseaux de diffusion de contenu utilisent les hachages comme clés de cache, et les chaînes de blocs s'en servent pour la preuve de travail.
Cet outil calcule les hachages SHA-1, SHA-256, SHA-384 et SHA-512 directement dans votre navigateur à l'aide de l'API Web Crypto, une interface native du navigateur appuyée sur la bibliothèque cryptographique du système d'exploitation. Comme tout le calcul se fait sur votre appareil, votre texte ou fichier d'entrée n'est jamais téléversé vers aucun serveur, ce qui permet d'utiliser l'outil en toute sécurité avec des documents confidentiels, des identifiants de production ou des clés privées. Les résultats sont affichés en hexadécimal minuscule, le format le plus courant, et peuvent être copiés d'un seul clic.
Le choix du bon algorithme compte. SHA-1 est considéré comme cryptographiquement cassé pour la résistance aux collisions (deux entrées différentes peuvent être fabriquées pour produire le même hachage SHA-1) et ne devrait être utilisé que pour l'interopérabilité héritée, pas pour de nouvelles applications de sécurité. SHA-256 est la norme de référence actuelle, largement prise en charge et appropriée pour la grande majorité des cas. SHA-384 et SHA-512 offrent des tailles de sortie plus grandes (et des marges de sécurité légèrement plus solides) au prix de condensés un peu plus longs. Si vous devez spécifiquement hacher des mots de passe, utilisez plutôt une fonction de hachage de mots de passe dédiée comme bcrypt, scrypt ou Argon2 : les hachages cryptographiques comme SHA-256 sont volontairement rapides, ce qui en fait de mauvais choix pour le stockage de mots de passe.
L'histoire de SHA : d'origines classifiées à norme mondiale
La famille Secure Hash Algorithm a été développée par la National Security Agency (NSA) des États-Unis et normalisée par le National Institute of Standards and Technology (NIST). Le SHA original (appelé rétroactivement SHA-0) a été publié en 1993, mais la NSA l'a retiré moins d'un an plus tard, invoquant officiellement une faille, bien que la nature de cette faille soit restée classifiée. SHA-1, son successeur, a été publié en 1995 et est devenu l'un des algorithmes cryptographiques les plus déployés de l'histoire, intégré partout, des certificats SSL aux dépôts Git.
La famille SHA-2 (SHA-256, SHA-384, SHA-512) a été publiée en 2001, mais l'adoption a été lente car SHA-1 était encore considéré comme sûr à l'époque. Il a fallu la rupture théorique de SHA-1 par l'équipe de Wang Xiaoyun en 2005, et l'attaque par collision pratique SHAttered en 2017, pour pousser enfin l'industrie vers SHA-2. Le NIST a aussi normalisé SHA-3 (2015), qui repose sur une structure interne complètement différente (la construction en éponge Keccak) et sert de secours au cas où une faiblesse fondamentale serait trouvée dans SHA-2.
Un détail fascinant : la sortie de SHA-256 fait exactement 256 bits, un nombre si astronomiquement grand (environ 10^77) que le nombre de hachages SHA-256 possibles dépasse le nombre estimé d'atomes de l'univers observable. C'est pourquoi, même avec toute la puissance de calcul du monde travaillant de concert, retrouver une entrée SHA-256 précise à partir de son seul hachage est considéré comme pratiquement impossible dans un avenir prévisible.