Accueil
» WINDOWS
»
Vérifier l'intégrité des fichiers sous Windows avec SHA-256
Vérifier l'intégrité des fichiers sous Windows avec SHA-256
Pour vérifier si un fichier sous Windows correspond à une copie de référence, calculez son hachage SHA-256 et comparez le résultat à la valeur publiée par l'éditeur du fichier. Windows intègre Get-FileHashl'applet de commande PowerShell et la certutilcommande correspondante ; vous n'avez donc pas besoin d'utilitaire de somme de contrôle tiers. Un hachage n'est qu'une empreinte numérique ; il ne peut confirmer une correspondance que si vous disposez d'une valeur de référence fiable.
Ce que le hachage d'un fichier peut vous apprendre
Un hachage est une valeur de longueur fixe calculée à partir du contenu d'un fichier. Le nom et l'extension du fichier n'influent pas sur le hachage, mais toute modification du contenu le modifie généralement. Si deux fichiers ont le même hachage SHA-256, on considère qu'ils ont le même contenu pour les vérifications pratiques. Une différence de hachage signifie que les octets diffèrent ; cela ne permet pas de déterminer si la cause est un téléchargement incomplet, une version différente, un disque endommagé ou une modification intentionnelle.
Pour un téléchargement, la référence doit provenir du site officiel de l'éditeur du logiciel et correspondre exactement au fichier, à sa version et à l'architecture téléchargés. Une somme de contrôle copiée depuis un miroir non fiable ne garantit pas l'authenticité d'un fichier. Si l'éditeur ne publie pas de hachage, son calcul local ne permet pas de prouver son authenticité.
Vérifier un fichier téléchargé avec PowerShell
Trouvez la valeur SHA-256 de l'éditeur. Ouvrez la page de téléchargement officielle et vérifiez que sa somme de contrôle correspond bien à la même version et au même nom de fichier. Copiez la valeur SHA-256 complète pour comparaison.
Commencez par la valeur SHA-256 de l'éditeur pour la version exacte que vous avez téléchargée.
Ouvrez PowerShell ou le Terminal Windows. Recherchez PowerShell dans le menu Démarrer ou ouvrez le Terminal. Une session utilisateur standard suffit pour hacher un fichier ordinaire ; les droits d’administrateur ne sont pas nécessaires.
Remplacez le chemin d'accès d'exemple par le chemin d'accès complet du fichier, en conservant les guillemets si le chemin contient des espaces. La commande affiche l'algorithme, le hachage et le chemin d'accès. PowerShell utilise SHA-256 par défaut, mais spécifier l'algorithme permet une comparaison explicite. Microsoft documente la commande et ses paramètres pris en charge dans la référence Get-FileHash .
Exécutez la commande Get-FileHash avec le chemin complet du fichier que vous souhaitez inspecter.
Comparez le hachage complet. Vérifiez que le résultat indique SHA256, puis comparez chaque caractère de la valeur de hachage avec la somme de contrôle de l'éditeur. La casse n'a pas d'importance, mais les caractères manquants ou supplémentaires en ont. Vous pouvez également demander à PowerShell de renvoyer un résultat simple :
Un résultat positif Truesignifie que la valeur calculée localement correspond à la valeur que vous avez saisie. Un résultat négatif Falsesignifie qu'elles diffèrent ; vérifiez que vous avez bien copié la somme de contrôle correcte et sélectionné le téléchargement correspondant avant de tirer des conclusions.
Comparez le hachage local complet avec la somme de contrôle publiée pour le même fichier.
En cas d'anomalie, réagissez avec précaution. N'ouvrez ni n'installez le fichier tant que l'anomalie reste inexpliquée. Supprimez ou mettez en quarantaine la copie concernée, téléchargez-la à nouveau depuis le site officiel de l'éditeur et répétez la vérification. Assurez-vous de ne pas comparer une version plus récente, une autre langue ou une configuration de processeur différente avec une somme de contrôle plus ancienne.
Une incohérence signifie que le fichier est différent de la référence ; vérifiez la version et téléchargez-la à nouveau avant de l’utiliser.
Utiliser l'invite de commandes avec CertUtil
Si vous préférez l'invite de commandes, exécutez cette commande intégrée dans le Terminal Windows ou dans une fenêtre d'invite de commandes :
Lisez le hachage affiché entre les lignes de sortie de la commande et comparez-le à la valeur du même éditeur. La documentation officielle de CertUtil décrit cette fonction -hashfilecomme générant et affichant un hachage cryptographique sur un fichier.
Qu’en est-il des fichiers MD5, SHA-1 et SFV ?
Les anciennes pages de téléchargement peuvent afficher des valeurs MD5 ou SHA-1, et un .sfvfichier contient des sommes de contrôle CRC-32 pour un ensemble de fichiers. Ces formats peuvent encore aider à détecter certaines erreurs de transfert accidentelles en les comparant à un manifeste original de confiance. Ils ne constituent cependant pas une méthode sûre pour garantir l'authenticité d'un téléchargement. Microsoft indique que MD5 et SHA-1 ne sont plus considérés comme sûrs face aux attaques ; utilisez SHA-256 lorsque l'éditeur le propose. Si une source ancienne ne fournit qu'une valeur MD5, considérez-la comme un contrôle de modification limité plutôt que comme une preuve de confiance.
La vérification des fichiers système Windows est une tâche différente.
Get-FileHashL'outil Vérificateur de fichiers système (SFC) compare un fichier à une référence que vous fournissez ; il ne connaît pas le contenu attendu d'un fichier système Windows. Pour les fichiers Windows protégés, utilisez SFC depuis une invite de commandes avec privilèges élevés : l'option sfc /verifyonly« analyse sans réparation » permet d'effectuer une analyse sans réparation, tandis que l'option sfc /scannow« analyse et tentative de réparation » permet d'effectuer une analyse avec tentative de réparation. Microsoft répertorie ces options dans sa documentation de référence sur la commande SFC . Utilisez la méthode de hachage pour les téléchargements, les archives, les sauvegardes et autres fichiers dont vous disposez d'une somme de contrôle fiable.