Comparing Hash of downloaded Files with PowerShell
I can’t claim 99% of this – main credit to : http://www.tinyint.com/index.php/2011/09/14/get-an-md5-or-sha1-checksum-with-powershell/
Param ( [string]$File=$(throw("You must specify a filename to get the checksum of.")), [string]$ProvidedHash, [ValidateSet("sha1","md5")] [string]$Algorithm=("sha1"))
function Get-Checksum
{
Param (
[string]$File=$(throw("You must specify a filename to get the checksum of.")),
[ValidateSet("sha1","md5")]
[string]$Algorithm=("sha1")) $fs = new-object System.IO.FileStream $File, “Open”, “Read”, “Read”; $algo = [type]"System.Security.Cryptography.$Algorithm" $crypto = $algo::Create() $hash = [BitConverter]::ToString($crypto.ComputeHash($fs)).Replace("-", "") $fs.Close() return $hash
}
$calchash = Get-Checksum $File $Algorithm $ProvidedHash
if ( $calchash -eq $ProvidedHash ) {
Write-Host "hash match" -ForegroundColor Green;
}
else {
Write-Host "hash doesn't match" -ForegroundColor Red
write-host "Provided:" $ProvidedHash "Calculated: " $calchash
}