Obtenir des hachages de fichiers à l'aide de Windows PowerShell

Essayez Notre Instrument Pour Éliminer Les Problèmes

Obtenir des hachages de fichiers peut être très utile. Cela peut être utilisé par exemple pour s'assurer que les fichiers sauvegardés ne sont pas corrompus ou modifiés (en générant des hachages avant et après le processus), ou pour s'assurer que personne n'a falsifié un fichier important.

Vous pouvez également le voir sur les sites de téléchargement, mais son utilisation est limitée. La raison est simple: si un attaquant parvient à modifier le fichier téléchargé, il est possible que le site Web soit également compromis. Cela pourrait théoriquement au moins signifier que le hachage du fichier affiché sur le site a également été modifié pour s'adapter à la nouvelle version malveillante du téléchargement.

Nous avons examiné un nombre considérable de programmes liés au hachage dans le passé: Extension du shell Windows HashTab , plus de HashMyFiles de Nirsoft à Vérification de fichier MD5 et Utilitaire de vérification MD5 .

Obtenir des hachages de fichiers à l'aide de Windows PowerShell

windows powershell get-hash

Si vous devez générer rapidement le hachage d'un fichier sur une machine Windows, vous pouvez également utiliser PowerShell pour ça.

Ce n'est peut-être pas aussi confortable que certains des programmes de hachage, mais il s'agit d'une implémentation native qui ne nécessite pas de logiciel tiers pour fonctionner. Utile dans des environnements restreints par exemple, ou lorsqu'il n'y a pas de connexion Internet disponible pour télécharger ces programmes.

La génération de hachage a été intégrée à PowerShell 4.0. Il est inclus dans Windows 8.1 et Windows Server 2012 R2, et également disponible pour Windows 7 Service Pack 1, Windows Server 2012 et Windows Server 2008 R2 Service Pack 1.

  1. Appuyez sur la touche Windows, tapez PowerShell et appuyez sur la touche Entrée pour le démarrer.

La commande principale est get-filehash FILEPATH , par exemple. get-filehash c: test.txt .

Get-FileHash utilise l'algorithme Sha256 par défaut. Vous pouvez spécifier un algorithme différent à la place en utilisant le paramètre -Algorithm.

Pris en charge sont: SHA1, SHA256, SHA384, SHA512, MACTripleDES, MD5, RIPEMD160

Notez que MD5 et SHA1 ne sont plus considérés comme sécurisés mais sont toujours pris en charge.

Donc, pour générer un hachage Sha512, vous utiliseriez la commande get-filehash -Algorithme Sha512 c: test.txt.

Vous pouvez également utiliser -LiteralPath ou -InputStream au lieu de l'option de chemin par défaut.

  • LiteralPath: get-filehash -LiteralPath -Algorithme SHA512 c: test.txt.
  • Flux d'entrée get-filehash -InputStream -Algorithme SHA512 Stream.

La principale différence entre path et literalpath réside dans le fait que literalpath ne prend en charge aucun caractère générique et est utilisé exactement tel qu'il est tapé.

CertUtil

certutil

CertUtil est un autre programme Windows natif que vous pouvez utiliser pour calculer les hachages de fichiers. Vous pouvez exécuter le programme à partir de l'invite de commandes ou à l'aide de PowerShell.

La commande de base est certutil -hashfile CHEMIN , par exemple. certutil -hashfile c: example.txt .

Vous pouvez également spécifier l'algorithme de hachage. Pris en charge sont MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512. L'algorithme par défaut est MD5.

Pour utiliser un algorithme de hachage différent, spécifiez-le après la commande, par exemple certutil -hashfile c: example.txt SHA512 .

Mots de clôture

Vous pouvez utiliser les commandes des scripts pour calculer les hachages de plusieurs fichiers en une seule opération. Les deux outils natifs get-filehash et certutil sont assez pratiques pour le calcul rapide des hachages sous Windows, ainsi que pour l'utilisation de scripts. (via Genbeta (Espagnol))