Vérifier l’intégrité d’un fichier sous Windows

Vérifier l’intégrité d’un fichier sous Windows

Voici un tutoriel pour vérifier sous Windows l’intégrité d’un fichier téléchargé avec des empreintes MD5, SHA1 ou SHA256. Ainsi, vous serez sûr qu’il est conforme à l’original.

Introduction

Pour vérifier l’intégrité d’un fichier, il faut calculer avec une fonction de hachage ses empreintes numériques (sorte d’empreinte d’identité unique pour un fichier) et les comparer avec les originales communiquées par les auteurs du fichier.

Il existe plusieurs algorithmes pour trouver ces empreintes numériques :

  • SHA-2 dont l’usage est recommandé aujourd’hui car plus sûr. Il permettra entre autre de calculer des empreintes SHA-256 (sur 256 bits) ou SHA-512 (512 bits).
  • MD5 (128 bits) dépassé car pas assez fiable
  • SHA-1 (160 bits) aussi dépassé

Les empreintes originales sont parfois mis à disposition à travers un fichier SHA256SUMS, SHA1SUMS ou MD5SUMS :
site web ubuntu fichiers sums sur pour focal
Alors pour connaitre l’empreinte originale, il suffit d’ouvrir ce fichier avec un éditeur de texte comme NotePad, NotePad++ ou autre.
notepad++ fichier sha256sums ubuntu focal

Vérifier l’intégrité d’un fichier sous Windows par l’interface graphique

Sous Windows, il existe de nombreux utilitaires permettant de calculer et vérifier les empreintes de hachage d’un fichier. J’en retiendrais deux : Gtkhash et 7-Zip.

Vérifier l’intégrité d’un fichier avec Gtkhash

Gtkhash est un logiciel libre (Licence GPLv2) disponible sous Linux et Windows.

logo Gtkhash

Il présente l’avantage de pouvoir comparer le résultat du calcul des empreintes d’un fichier avec une empreinte fournie. En fonction de votre architecture (32 bits ou 64 bits), vous pouvez télécharger un installeur ou un format portable depuis la page du projet sur GitHub ou sur SourceForge.

Dans son interface vous pourrez :

Vérifier l’intégrité d’un fichier sous Windows avec Gtkhash

  1. Sélectionner un fichier (1)
  2. Calculez les différentes empreintes d’un fichier (2)
  3. Voir le résultat du calcul (3)
  4. Comparer ces résultats avec l’empreinte d’origine que vous aurez collé dans le champ (4). La pastille verte indique une comparaison réussie.

Vérifier l’intégrité d’un fichier avec 7-zip

7-Zip est un logiciel libre (Licence LGPL) connu pour la compression/décompression de fichiers.

logo 7-zip

Une de ces fonctionnalités moins connue de 7-Zip est le calcul d’empreintes de hachage.

Vous pouvez télécharger l’installeur de 7-Zip ou sa version portable depuis son site officiel. Mais vous pouvez aussi utiliser le gestionnaire de paquet pour Windows chocolatey :

choco install 7zip.install

Puis, pour calculer l’empreinte d’un fichier, ouvrez 7-Zip. Puis allez à l’emplacement du fichier. Alors, faites un clic droit de la souris sur le fichier et dans le menu choisissez CRC puis le type d’empreinte voulu.

Vérifier l’intégrité d’un fichier sous Windows : calcul empreinte avec 7-zip

7-Zip calculera l’empreinte :

calcul empreinte avec 7zip

Et l’affichera :

résultat calcul empreinte avec 7zip

Si 7-Zip est installé et intégré au système, vous pouvez le faire directement depuis l’explorateur Windows :
calcul empreinte avec 7-zip depuis explorateur

Une fois le calcul fait, comparez l’empreinte obtenue avec l’originale. Aussi, pour cela, je vous recommande d’utiliser une des deux commandes présentées plus loin ci-dessous qui faciliteront la comparaison.

 

Vérifier l’intégrité d’un fichier sous Windows en ligne de commande

Sous Windows, il n’est pas forcément nécessaire d’installer un outil pour calculer une empreinte de hachage. En effet, de base, une commande PowerShell (Get-FileHash) et un utilitaire DOS (certutil.exe) permettent aussi de faire cela.

Vérifier l’intégrité d’un fichier avec Windows PowerShell et Get-FileHash

Calcul de l’empreinte d’un fichier dans PowerShell

Ouvrez une invite PowerShell soit :

  • ou en tapant PowerShell dans le menu démarrez de Windows 10

lancer powershell

  • en faisant un clic droit de la souris sur l’icône : menu puis choisissez Windows PowerShell

lancer powershell

puis faites :

Get-FileHash -Algorithm SHA256 chemin\vers\fichier_a_controler.ext | Format-List
  • chemin\vers\fichier_a_controler.ext : est à remplacer par le chemin vers votre fichier. Exemple : D:\Download\ubuntu-20.04-desktop-amd64.iso
  • -Algotithm SHA256 : indique l’algorithme utiliser pour le calcul de l’empreinte. Vous pouvez remplacer SHA256 par MD5, SHA1, SHA512
  • | Format-List (facultatif) : permet d’afficher les résultats sous forme de liste et non sur une ligne
Vérifier l’intégrité d’un fichier sous Windows : calculer empreintes d'un fichier sous Windows et powerShell
Calcul d’empreintes SHA256, SHA1 et MD5 d’un fichier dans PowerShell

Comparaison des empreintes dans PowerShell

Enfin, pour faciliter la comparaison avec l’empreinte originale, faites :

"empreinte_calculee" -eq "empreinte_original"
  • empreinte_calculee à remplacer par l’empreinte précédemment calculée
  • empreinte_original à remplacer par l’empreinte fournie

vous aurez alors comme résultat :

  • True si elles sont identiques
  • False si elles sont différentes

Vérifier l’intégrité d’un fichier sous Windows : comparaison d'empreinte dans powerShell

Vérifier l’intégrité d’un fichier avec une invite de commande (cmd) et certutil.exe

Calcul de l’empreinte d’un fichier dans une invite de commande (cmd)

Ouvrez une invite de commande :

lancer cmd

Puis faites :

certutil -hashfile chemin\vers\fichier_a_controler.ext SHA256

chemin\vers\fichier_a_controler.ext : est à remplacer par le chemin vers votre fichier. Exemple : D:\Download\ubuntu-20.04-desktop-amd64.iso

SHA256 : peut être remplacé par MD5, SHA1 ou SHA512

Vérifier l’intégrité d’un fichier sous Windows : calculer empreintes d'un fichier sous Windows et CMD
Calcul d’empreintes SHA256, SHA1 et MD5 d’un fichier dans CMD

Comparaison des empreintes dans une invite de commande (cmd)

Enfin pour comparer facilement le résultat avec l’empreinte originale, faites :

if "empreinte_calculee" == "empreinte_original" echo True
  • empreinte_calculee à remplacer par l’empreinte précédemment calculée
  • empreinte_original à remplacer par l’empreinte fournie

Ainsi si les deux empreintes sont identiques, la commande renverra True. Sinon, elle ne renverra rien.

Vérifier l’intégrité d’un fichier sous Windows : comparaison d'empreinte dans CMD

Pour aller plus loin

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.