Here is a one-line-command example with both computing the proper checksum of the file, like you just downloaded, and comparing it with the published checksum of the original.
For instance, I wrote an example for downloadings from the Apache JMeter project. In this case you have:
3a84491f10fb7b147101cf3926c4a855 *apache-jmeter-4.0.zip
Then using this PowerShell command, you can verify the integrity of the downloaded file:
PS C:\Distr> (Get-FileHash .\apache-jmeter-4.0.zip -Algorithm MD5).Hash -eq (Get-Content .\apache-jmeter-4.0.zip.md5 | Convert-String -Example "hash path=hash")
Output:
True
Explanation:
The first operand of -eq
operator is a result of computing the checksum for the file:
(Get-FileHash .\apache-jmeter-4.0.zip -Algorithm MD5).Hash
The second operand is the published checksum value. We firstly get content of the file.md5 which is one string and then we extract the hash value based on the string format:
Get-Content .\apache-jmeter-4.0.zip.md5 | Convert-String -Example "hash path=hash"
Both file and file.md5 must be in the same folder for this command work.