À partir de la version 4 de PowerShell, cette opération est facile à réaliser pour les fichiers à l'aide de la commande Get-FileHash
cmdlet :
Get-FileHash <filepath> -Algorithm MD5
C'est certainement préférable car cela évite les problèmes que la solution pour l'ancien PowerShell offre comme indiqué dans les commentaires (utilise un flux, le ferme, et supporte les gros fichiers).
Si le contenu est une chaîne de caractères :
$someString = "Hello, World!"
$md5 = New-Object -TypeName System.Security.Cryptography.MD5CryptoServiceProvider
$utf8 = New-Object -TypeName System.Text.UTF8Encoding
$hash = [System.BitConverter]::ToString($md5.ComputeHash($utf8.GetBytes($someString)))
Pour les anciennes versions de PowerShell
Si le contenu est un fichier :
$someFilePath = "C:\foo.txt"
$md5 = New-Object -TypeName System.Security.Cryptography.MD5CryptoServiceProvider
$hash = [System.BitConverter]::ToString($md5.ComputeHash([System.IO.File]::ReadAllBytes($someFilePath)))
6 votes
Qu'est-ce qu'un "contenu" ? Un fichier ? Une chaîne de caractères ?