Générateur de hash

Entrez du texte ci-dessous pour générer d’un coup des hashes SHA-1, SHA-256, SHA-384 et SHA-512, ou fournissez une clé pour le signer en HMAC. Utilise l’API Web Crypto. Tout le traitement se fait localement dans votre navigateur.

À propos des fonctions de hachage

Une fonction de hachage cryptographique prend une entrée et produit une chaîne d'octets de taille fixe. La sortie (hash) est unique pour l'entrée — même un petit changement produit un hash complètement différent.

  • SHA-1 — 160 bits, obsolète pour un usage sécuritaire. Encore utilisé dans Git.
  • SHA-256 — 256 bits, famille SHA-2. Recommandé pour un usage général.
  • SHA-384 — 384 bits, famille SHA-2. Variante tronquée de SHA-512.
  • SHA-512 — 512 bits, famille SHA-2. Le hash standard le plus puissant.

Chaque empreinte de cette page provient de la Web Crypto API du navigateur, signatures HMAC comprises. Rien n'est implémenté à la main et rien n'est téléversé.

Deux réglages changent le résultat plus qu'on ne le croit. Le jeu de caractères décide des octets hachés : la même phrase donne une empreinte différente en UTF-8 et en Windows-1252. Le réglage des fins de ligne compte pour tout ce qui vient d'un fichier, car une empreinte prise sur des CRLF ne correspondra jamais à une prise sur des LF. Collez une somme de contrôle dans le champ de comparaison et la page vous dit de laquelle des quatre elle provient, ce qui est le moyen le plus rapide d'identifier une empreinte sans étiquette.

Comment stockez-vous cela, au juste ?

Les empreintes, les jetons et les mots de passe ne valent que le code qui les entoure : un facteur de coût laissé par défaut, un jeton dont personne ne vérifie l'expiration, un secret poussé dans le dépôt. Nous auditons et durcissons les applications, et nous vous disons ce qu'un attaquant atteint en premier.

Réserver un audit de sécurité

Questions fréquentes

Pourquoi mon empreinte diffère-t-elle d'un autre outil ?
Presque toujours parce que les octets diffèrent, pas l'algorithme. Un saut de ligne final, des CRLF au lieu de LF, ou du texte encodé en Windows-1252 plutôt qu'en UTF-8 modifient l'entrée et donc l'empreinte. Les réglages de jeu de caractères et de fins de ligne servent justement à rendre ces différences explicites.
Où est passé MD5 ?
Il a été retiré. MD5 subit des attaques par collision praticables : il ne prouve rien sur un fichier qu'un attaquant aurait pu toucher, et l'API de cryptographie du navigateur ne le propose pas, ce qui obligeait à embarquer une implémentation écrite à la main dans la page. SHA-256 est le choix par défaut raisonnable pour tout nouveau projet.
Qu'est-ce que HMAC et quand en ai-je besoin ?
HMAC mêle un secret partagé à l'empreinte : seul le détenteur de la clé peut la produire ou la vérifier. Utilisez-le pour les signatures de webhooks et la signature de requêtes d'API, là où une empreinte simple ne prouve rien puisque n'importe qui peut la calculer sur le même corps.
Lequel dois-je réellement utiliser ?
SHA-256, sauf raison contraire. SHA-512 n'est pas significativement plus solide pour la plupart des usages et se calcule plus vite sur du matériel 64 bits : c'est aussi un choix par défaut raisonnable. SHA-1 figure ici parce que beaucoup de logiciels en produisent encore, pas en recommandation : il subit des attaques par collision praticables et ne doit rien protéger.
Mon texte atteint-il votre serveur ?
Non. Chaque empreinte est calculée dans votre navigateur, quatre d'entre elles par sa propre interface de cryptographie. Rien de ce que vous saisissez n'est téléversé, ce qui rend sûr le hachage d'un jeton, d'un fichier de configuration ou de tout ce que vous ne colleriez pas dans un service distant.