Utilia

Générateur de hash

Calculez le hash MD5, SHA-1, SHA-256 ou SHA-512 d'un texte ou d'un fichier de toute taille et vérifiez une somme de contrôle, sans rien envoyer.

Calculer le hash
Le texte est encodé en UTF-8.
Algorithmes

Comment calculer un hash

  1. Sous Calculer le hash, choisissez d’un texte ou de fichiers.
  2. Pour un texte, saisissez-le ou collez-le dans Texte à hacher. Les hash se mettent à jour pendant la frappe ; le bouton Calculer relance le calcul à la demande.
  3. Pour des fichiers, déposez-les sur la zone prévue ou cliquez dessus pour les choisir. Une barre de progression s’affiche pour les gros fichiers, avec un bouton Annuler.
  4. Choisissez les Algorithmes voulus (MD5, SHA-1, SHA-256, SHA-512) et le Format de sortie : hexadécimal en minuscules, hexadécimal en majuscules ou Base64.
  5. Pour vérifier un téléchargement, collez la somme de contrôle publiée dans Comparer avec un hash attendu (facultatif). L’outil indique quel algorithme correspond, ou qu’aucun ne correspond.

Qu’est-ce qu’un hash ?

Une fonction de hachage cryptographique transforme n’importe quelle donnée, d’un simple mot à une image disque de 50 Go, en une empreinte courte de taille fixe. La même entrée donne toujours le même hash, et la modification d’un seul bit change complètement le résultat. Il est impossible de retrouver l’entrée à partir du hash.

Algorithme Taille Longueur en hexadécimal Statut
MD5 128 bits 32 caractères Cassé : à réserver aux sommes de contrôle
SHA-1 160 bits 40 caractères Cassé : collisions démontrées en 2017
SHA-256 256 bits 64 caractères Sûr, la norme actuelle
SHA-512 512 bits 128 caractères Sûr, souvent plus rapide sur les processeurs 64 bits

Par exemple, le hash SHA-256 de abc est ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad.

Vérifier l’intégrité d’un téléchargement

Les éditeurs de logiciels publient souvent une somme de contrôle SHA-256 à côté de leurs fichiers. Après le téléchargement, passez en mode de fichiers, déposez le fichier et collez la valeur publiée dans le champ de comparaison. Si elles correspondent, le fichier n’a pas été corrompu pendant le transfert et il est identique à celui qu’a haché l’éditeur. Cela ne prouve pas que l’éditeur est digne de confiance : pour cela, la somme de contrôle doit elle-même provenir d’une source sûre, comme un site en HTTPS ou une version signée.

Et les très gros fichiers ?

Les fichiers sont lus sur votre appareil et ne sont jamais envoyés. Jusqu’à 64 Mo, ils sont hachés en une seule passe par l’API Web Crypto intégrée au navigateur. Au-delà, ils sont lus par blocs de 4 Mo transmis à des fonctions de hachage incrémentales : la mémoire utilisée reste stable, et des fichiers de plusieurs gigaoctets peuvent être traités. Sur un ordinateur courant, comptez quelques centaines de mégaoctets par seconde en SHA-256.

Texte, encodage et fins de ligne

Un hash se calcule sur des octets, pas sur des caractères. Cet outil encode le texte en UTF-8, la norme du Web et de la plupart des langages de programmation. Si vous obtenez un autre résultat ailleurs, cherchez une différence invisible : un saut de ligne final (echo "abc" | sha256sum hache abc\n ; utilisez echo -n), des fins de ligne Windows (\r\n) ou un autre encodage, comme UTF-16.

Questions fréquentes

Puis-je utiliser MD5 ou SHA-1 pour stocker des mots de passe ?

Non, pas plus que SHA-256 seul. Ces fonctions sont conçues pour être rapides : un attaquant peut tester des milliards de combinaisons par seconde. Les mots de passe exigent un algorithme lent et salé, comme Argon2, bcrypt ou scrypt.

MD5 sert-il encore à quelque chose ?

Oui, pour détecter une corruption accidentelle, repérer des fichiers en double ou comparer avec une ancienne liste de sommes de contrôle. Il ne protège pas contre une falsification volontaire, car il est facile de créer deux fichiers différents ayant le même MD5.

Mes fichiers sont-ils envoyés sur un serveur ?

Non. Les fichiers sont lus et hachés par votre navigateur ; rien n’est transmis. Vous pouvez donc calculer le hash de documents confidentiels.

Pourquoi mon hash diffère-t-il de celui de la ligne de commande ?

L’entrée n’est presque jamais identique : saut de ligne final, espaces, fins de ligne ou encodage du texte. Pour un fichier, vérifiez que le téléchargement est complet : un seul octet manquant donne un hash totalement différent.

Quelle différence entre la sortie hexadécimale et Base64 ?

Ce sont deux façons d’écrire les mêmes octets. L’hexadécimal est le format habituel des sommes de contrôle ; le Base64, plus court, sert par exemple dans les attributs Subresource Integrity (sha256-…). Le champ de comparaison accepte les deux.