Hachage de fichiers par lot et vérificateur de manifeste

Choisissez ou déposez plusieurs fichiers à la fois : cette page calcule le condensat MD5, SHA-1, SHA-256, SHA-384 ou SHA-512 de chacun d’eux, entièrement dans votre navigateur. Ensuite, vous pouvez soit copier les résultats sous forme de lignes compatibles sha256sum pour vos propres notes de version, soit coller un manifeste de sommes de contrôle (SHA256SUMS, .sha256, .sfv, sortie BSD de openssl dgst) et laisser la page vous indiquer quels fichiers sont vérifiés, lesquels ne correspondent pas et lesquels manquent. Rien n’est envoyé nulle part. Pour un fichier isolé avec davantage d’algorithmes, voir le Générateur de hash.
Déposez les fichiers ici, ou cliquez pour les choisir
Jusqu’à 50 fichiers, 200 Mo chacun. Les fichiers restent sur cette machine.
Aucun fichier sélectionné.
— sortie en hexadécimal ; choisissez au moins un algorithme.
Cliquez sur n’importe quelle cellule de condensat pour la copier. Les noms et les tailles sont toujours listés, si bien que le tableau sert aussi de vue des tailles de fichiers par lot.
Le tableau des condensats apparaît ici dès que vous choisissez des fichiers et appuyez sur Calculer.
Collez un manifeste au format GNU (hash  nom), BSD (SHA256 (nom) = hash), SFV (nom crc32) ou simple (sha256=hash), ou importez directement le fichier .sha256 / SHA256SUMS / .sfv. Les lignes commençant par ; sont traitées comme des commentaires.
Confidentialité : chaque condensat est calculé avec le moteur JavaScript et WebCrypto du navigateur lui-même — les fichiers ne quittent jamais cet onglet. Astuce : après avoir vérifié un téléchargement, vous pouvez fermer cette page sans risque : rien n’a été enregistré.

Qu’est-ce que le hachage de fichiers par lot ?

Une somme de contrôle est une courte empreinte d’un fichier : on fait passer les octets du fichier dans une fonction de hachage, et l’on obtient un condensat qui change presque certainement dès qu’un seul octet du fichier change. Les distributeurs de logiciels publient ces condensats à côté de leurs téléchargements, afin que vous puissiez vérifier que le fichier reçu est celui qu’ils ont envoyé : le téléchargement n’a pas été tronqué ni corrompu, et personne n’a substitué un contenu différent.

Le faire fichier par fichier suffit pour un seul téléchargement. Dès que vous avez un dossier de fichiers, ou une archive de version contenant un manifeste SHA256SUMS, vous voulez la version par lot : hacher chaque fichier une fois, puis contrôler chaque ligne du manifeste par rapport au fichier correspondant. C’est exactement la boucle que cette page automatise.

Les formats de manifeste que cette page lit

StyleExemple de ligneOù on le rencontre
GNU900150983c...  hello.txtSortie de sha256sum / md5sum, fichiers SHA256SUMS des versions Linux
BSDSHA256 (hello.txt) = 900150983c...openssl dgst -sha256 sous macOS/BSD
SFVhello.txt 1A2B3C4DFichiers Simple File Verification, anciens groupes de discussion binaires
simplesha256=ba7816bf...Pages de téléchargement, notes de version, Docker checksums

La longueur du condensat identifie à elle seule l’algorithme : 32 caractères hexadécimaux désignent MD5, 40 SHA-1, 64 SHA-256, 96 SHA-384 et 128 SHA-512 ; les lignes au format GNU n’ont donc pas besoin de préciser le programme qui les a produites.

Fonctionnement, en bref

Chaque fichier est lu une fois avec le FileReader du navigateur, puis transmis à crypto.subtle.digest (famille SHA) et à une implémentation locale de MD5. Les condensats sont encodés en hexadécimal et alignés sur les entrées du manifeste ; un fichier n’est vérifié que si le condensat calculé est égal à celui attendu, caractère pour caractère. Les lignes SFV portent un CRC-32 au lieu d’un hash cryptographique : la page les signale comme non prises en charge plutôt que de prétendre qu’un CRC équivaut à un condensat.

Erreurs courantes

« Tous mes fichiers indiquent une non-concordance. » — la cause habituelle est un manifeste établi pour une autre version du téléchargement. Vérifiez d’abord les noms de fichiers : le contrôle compare les noms de base, si bien que dist/app-1.2.bin correspond à une ligne du manifeste pour app-1.2.bin. « SHA-1 vérifié, donc le fichier est sûr ? » — non. La vérification prouve que les octets correspondent à ce que l’éditeur a publié ; savoir si l’éditeur est digne de confiance est une autre question. Et SHA-1 est cassé par des collisions depuis 2017 : privilégiez les manifestes en SHA-256 lorsque vous avez le choix.

Questions fréquentes

Le hachage d’un gros fichier est-il lent ? — environ une seconde par 200 Mo sur une machine ordinaire ; une ligne de progression indique l’avancement du lot.
Puis-je vérifier un manifeste SFV en CRC-32 ? — les lignes SFV sont analysées et listées, mais la page ne calcule pas de CRC-32 ; utilisez l’outil CRC du hub cryptographie pour les fichiers isolés.
Pourquoi uniquement l’hexadécimal ? — les manifestes en circulation sont en hexadécimal ; les condensats en base64 sont une fonctionnalité à part.
Que deviennent mes fichiers ? — rien : aucun serveur, aucun stockage, aucune statistique ; fermez l’onglet et chaque octet d’entrée disparaît.