Générateur de SHA-1
Calculez le hash SHA-1 d’un texte ou d’un fichier (UTF-8, options de normalisation). Tout est calculé dans le navigateur.
Soutenez le projet
J’ai choisi de limiter les publicités pour garder l’expérience simple et agréable. Si cet outil vous a été utile, vous pouvez m’aider à le faire vivre — chaque geste compte pour un développeur solo.
Description
Le générateur de SHA-1 permet de calculer l’empreinte (hash) SHA-1 d’un texte ou d’un fichier directement dans votre navigateur. Aucune donnée n’est envoyée sur un serveur : le calcul est entièrement effectué en local, ce qui préserve la confidentialité. Vous pouvez choisir la casse du résultat (minuscules ou majuscules), la normalisation Unicode (NFC, NFKC ou aucune) et le traitement des fins de ligne (LF, CRLF ou tel quel). Pour les fichiers, le hash est calculé sur les octets bruts du fichier.
SHA-1 produit une chaîne de 40 caractères hexadécimaux (160 bits). Il a longtemps été utilisé pour la vérification d’intégrité et les signatures numériques, mais il est aujourd’hui considéré comme cassé pour la résistance aux collisions : ne l’utilisez pas pour des usages cryptographiques sensibles (signatures, mots de passe). Pour la vérification d’intégrité dans des contextes non hostiles, il reste encore présent dans de nombreux protocoles et outils.
Comment faire
- Choisissez le mode Texte ou Fichier.
- En mode Texte : saisissez ou collez votre texte dans la zone prévue. Ajustez si besoin la casse du hash, la normalisation Unicode et les fins de ligne, puis cliquez sur « Calculer le hash SHA-1 ».
- En mode Fichier : sélectionnez un fichier avec le sélecteur. Le hash est calculé sur l’intégralité des octets du fichier ; une barre de progression s’affiche pour les gros fichiers.
- Le hash SHA-1 s’affiche en hexadécimal. Vous pouvez le copier avec le bouton « Copier ». Optionnellement, affichez le hex groupé ou les 20 octets du digest sous forme de paires hexadécimales.
Exemples
- Texte vide :
da39a3ee5e6b4b0d3255bfef95601890afd80709 - « hello » :
aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d - « Bonjour le monde » (UTF-8) : le hash dépend des octets exacts ; avec normalisation NFC vous obtenez un résultat reproductible pour un même contenu sémantique.
Sécurité de SHA-1
SHA-1 a été cassé pour la résistance aux collisions : des attaques pratiques (SHAttered, 2017) ont montré qu’il est possible de produire deux entrées différentes ayant le même hash. En conséquence :
- Ne pas utiliser SHA-1 pour les signatures numériques, les certificats ou toute application où la sécurité cryptographique repose sur l’absence de collisions.
- Pour la vérification d’intégrité de fichiers dans un contexte non hostile (par exemple téléchargement depuis une source qui publie encore un SHA-1), l’usage reste courant mais est progressivement remplacé par SHA-256.
- Pour les mots de passe : n’utilisez jamais SHA-1 (ni SHA-256 seul) ; privilégiez des fonctions dédiées à coût adaptatif (bcrypt, Argon2, scrypt) avec salage.
Les organismes de standardisation (NIST, etc.) déconseillent SHA-1 pour les nouveaux usages sensibles et recommandent SHA-256 ou supérieur.
Cas d’usage
- Vérification d’intégrité : comparer le hash SHA-1 d’un fichier téléchargé avec celui fourni par l’éditeur (tant que ce dernier continue de publier des SHA-1).
- Déduplication ou indexation : identifier rapidement des doublons ou des contenus identiques via une empreinte courte dans des environnements legacy.
- Compatibilité : certains protocoles (Git historiquement, TLS ancien, etc.) ou outils utilisent encore SHA-1 pour des checksums ; cet outil permet de reproduire ces hash côté client.
Limites
- Le texte est limité à 5 Mo (en octets UTF-8) pour éviter de bloquer le navigateur. Au-delà, utilisez le mode Fichier.
- En mode Fichier, les très gros fichiers sont lus en mémoire par morceaux ; pour des tailles dépassant plusieurs centaines de Mo, le temps de calcul peut devenir long.
- Le hash est toujours dérivé des octets (UTF-8 pour le texte). Une différence de normalisation Unicode ou de fins de ligne change le résultat.
Bonnes pratiques
- Pour du texte : utilisez la normalisation Unicode (NFC ou NFKC) si vous voulez que des représentations équivalentes donnent le même hash.
- Pour des fichiers : le hash est calculé sur les octets bruts ; le nom et le type du fichier n’entrent pas en compte.
- Conservez une trace de la casse (minuscules/majuscules) lorsque vous comparez deux hashs.
- Pour tout nouveau projet nécessitant une empreinte cryptographiquement sûre, préférez SHA-256 ou SHA-384.
Alternatives à SHA-1
Pour les usages sensibles ou modernes, privilégiez SHA-256 (ou SHA-384, SHA-512) pour les empreintes et la vérification d’intégrité. Pour les mots de passe, utilisez des fonctions à coût adaptatif (bcrypt, scrypt, Argon2). De nombreux outils et protocoles proposent désormais des hash SHA-256 en plus ou à la place du SHA-1.
FAQ
Le hash est-il calculé sur le serveur ?
Non. Tout est calculé dans votre navigateur. Aucune donnée (texte ou fichier) n’est envoyée sur internet, ce qui préserve la confidentialité.
Pourquoi deux textes qui se ressemblent ont-ils des hash différents ?
SHA-1 travaille sur les octets (UTF-8 pour le texte). Un accent codé différemment (par exemple « é » en un seul caractère vs « e » + accent combinant), une différence de fin de ligne (LF vs CRLF) ou un espace en plus changent les octets et donc le hash. Utilisez les options de normalisation et de fin de ligne pour harmoniser.
Quelle est la limite de taille pour le texte ?
Pour éviter de bloquer le navigateur, le texte est limité à 5 Mo (en octets UTF-8). Au-delà, utilisez le mode Fichier, qui lit le fichier par morceaux.
Le mode Fichier envoie-t-il mon fichier sur un serveur ?
Non. Le fichier est lu localement par le navigateur et le hash est calculé entièrement chez vous. Aucun octet n’est transmis.
Peut-on utiliser SHA-1 pour des signatures ou des mots de passe ?
Non. SHA-1 n’est plus considéré comme sûr pour les signatures (collisions pratiques démontrées). Pour les mots de passe, il ne faut pas utiliser SHA-1 (ni aucun hash simple) : utilisez des algorithmes dédiés (bcrypt, Argon2, etc.) avec salage.
Que signifient NFC et NFKC ?
Ce sont des formes de normalisation Unicode. NFC recompose les caractères (ex. « e » + accent → « é ») ; NFKC va plus loin et normalise aussi des équivalences de compatibilité. Choisir une normalisation permet d’obtenir le même hash pour des textes sémantiquement identiques mais encodés différemment.
À quoi sert l’affichage des 20 octets (hex) ?
Le digest SHA-1 fait exactement 20 octets. Les afficher en paires hexadécimales (ex. « da 39 a3 ee … ») ou en hex groupé (ex. « da39 a3ee 5e6b … ») peut aider à des comparaisons ou à des usages techniques où la forme binaire est utile.
Une suggestion ou une demande d'outil ?
Vous avez repéré une erreur, vous souhaitez un nouvel outil ou vous avez un retour à partager ? Contactez-moi par email, je serais ravi d'échanger avec vous.