Ce que calcule cet outil
SHA-1 produit 160 bits, écrits sous forme de 40 caractères hexadécimaux. Cette page est destinée à vérifier les systèmes existants qui demandent toujours SHA-1, tels que les anciens manifestes et les appareils de compatibilité. Un résultat SHA-1 ne peut pas être comparé directement à une valeur MD5 ou à une valeur SHA-256, quelle que soit la casse des lettres.
La reproduction d'un résumé historique nécessite les octets historiques, et pas seulement un texte qui se ressemble. Une nouvelle ligne copiée, une marque d'ordre des octets d'un éditeur ou une représentation Unicode différente peut modifier la réponse. Utilisez le mode fichier pour l'artefact enregistré réel plutôt que de copier le corps du document dans la zone de texte.
SHA-1 présente des faiblesses connues en matière de collision. Sa présence dans un ancien protocole ne constitue pas une approbation pour une nouvelle conception. Préférez un algorithme moderne dans lequel vous contrôlez le format et utilisez une construction d'authentification par clé lorsque la tâche nécessite la preuve d'un secret partagé plutôt qu'une simple empreinte digitale.
Exemple travaillé
UTF-8 · abc · SHA-1
a9993e364706816aba3e25717850c26c9cd0d89d
Comment calculer et comparer
- Saisissez le texte exact dans Texte de saisie ou choisissez Exemple pour charger
abc. Le texte est codé au format UTF-8 ; les espaces et les fins de ligne sont conservés. - En mode texte unique, saisie non vide jusqu'à 64 KiB mise à jour après une courte pause. Cliquez sur Calculer le hachage pour une entrée vide ou un texte plus grand. La modification de l’entrée efface le résultat précédent.
- Pour vérifier un fichier enregistré, ouvrez la Somme de contrôle du fichier, confirmez l'algorithme et choisissez ou déposez le fichier. Le mode fichier lit ses octets d'origine et démarre automatiquement.
Pour les résultats ligne par ligne, activez Un par ligne, choisissez d'inclure ou non des lignes vides, puis cliquez sur Calculer le hachage. Le mode Ligne ne calcule pas automatiquement. CRLF, LF et CR séparent les enregistrements et ne sont pas inclus dans le résumé de chaque ligne. Les lignes en double conservent leurs numéros de ligne d'origine.
Collez uniquement la référence hexadécimale complète dans Comparer la valeur attendue (facultatif) et cliquez sur Vérifier. La casse des lettres et les espaces collés environnants sont ignorés ; les espaces internes et la mauvaise longueur sont rejetés. Copier conserve le résultat complet. Les exportations TXT et CSV incluent les identifiants, les noms d'algorithmes et les résumés, et non le texte source ou les clés secrètes.
Limites, confidentialité et prochaines étapes
Le texte est limité à 10 MiB et le mode ligne à 10 000 enregistrements, y compris les enregistrements vides avant le filtrage. Les fichiers sont limités à 50 entrées de file d'attente et 1 GiB chacune, lues séquentiellement dans des morceaux 2 MiB. Ces limites protègent les ressources du navigateur ; ils ne garantissent pas un traitement rapide sur chaque téléphone. Annulez si nécessaire. Le calcul s'effectue dans le navigateur, tandis que les demandes normales de pages et d'actifs parviennent toujours au service d'hébergement.
Reproduire SHA-1 sans le confondre avec un ID d'objet Git
Cette page hache exactement le texte ou les octets du fichier. Dans un référentiel Git SHA-1, un ID d'objet n'est pas simplement SHA-1 du contenu du fichier visible : Git inclut un en-tête d'objet et les filtres peuvent également affecter les octets utilisés pour un blob. Une différence avec git hash-object n’indique donc pas en soi une implémentation défectueuse de SHA-1.
Pour une intégration existante, déterminez d’abord si son champ attend un résumé de fichier brut, un identifiant d’objet ou un résumé à l’intérieur d’une structure signée plus grande. Reproduisez ici les valeurs SHA-1 brutes ; utilisez les propres commandes d'objet de Git pour les ID de référentiel. Conservez le nom de l'algorithme du protocole avec le résultat plutôt que de remplacer silencieusement SHA-1 par un hachage plus long.
Fichier brut SHA-1 et Git blob SHA-1
Pour les trois octets abc, la représentation blob SHA-1 de Git commence par le blob d'octets 3 suivi d'un octet zéro. Ne saisissez pas de barre oblique inverse visible dans l'éditeur : cet exemple explique la représentation de l'objet, pas un mode Git dans cet outil.
SHA-1 / raw abc:
a9993e364706816aba3e25717850c26c9cd0d89d
SHA-1 / Git blob (62 6c 6f 62 20 33 00 61 62 63):
f2ba8f84ab5c1bce84a7b441cb1959cfc7093b7f
Pièges courants de compatibilité SHA-1
| Problème observé | Pourquoi ça arrive | Ce qu'il faut faire |
|---|---|---|
| Un ID d'objet Git ne correspond pas | Git hache une représentation d'objet, pas seulement le contenu brut du fichier | Utilisez git hash-object et les règles de filtrage du référentiel. |
| La référence est de 64 caractères hexadécimaux | Ce n'est pas un résumé complet de SHA-1 | Vérifiez si le système spécifie SHA-256. |
| Un fichier hérité échoue après la modification | L'enregistrement peut modifier les nouvelles lignes ou l'encodage | Hachez l'artefact d'origine avant de le modifier. |