Calculer un hash MD5 avec Powershell

Bonjour,

Qui ne s’est pas retrouvé avec des fichiers corrompus, après les avoir téléchargé où je ne sais. Il m’est arrivé pour le boulot de devoir vérifier l’intégrité de certains fichiers sur ‘un OS Windows. Je me suis donc mis en quête d’une solution toute faite intégrée dans Powershell (ce qui n’existe pas), du moins pas en natif, car il existe ça mais si l’on ne souhaite pas   installer des “librairies” il va nous falloir utiliser des classes .NET.

Après une petite recherche sur MSDN ici pour la création de l’algorythme

[powershell]$algo = [System.Security.Cryptography.HashAlgorithm]::Create(“MD5”)[/powershell]

Si je regarde les méthodes disponibles pour le nouvel objet $algo que je créé, je remarque ComputeHash

 

Il va donc nous falloir lire le fichier dont nous voulons le hash MD5, pour se faire nous allons créer un objet qui contiendra les bytes du fichier.

La classe StringBuilder va nous permettre de créer un objet qui va retourner une chaîne de caractères

 

La méthode Append va nous permettre de passer chaque valeur retourner par le ComputeHash au format String.

Il ne reste plus qu’à convertir le contenu de $md5StringBuilder au bon format et de rendre le fichier disponible.

 

Une fois tout mis bout à bout, la fonction crée donne ceci:

 

Vous pourrez l’utiliser comme bon vous semble

Ou bien

 

Voilà, en espérant que cela puisse vous servir un jour 🙂