【发布时间】:2020-12-03 09:19:30
【问题描述】:
如果我下载了具有已知 SHA256 哈希的文件,我如何使用 PowerShell 检查该文件是否与预期的哈希匹配?
【问题讨论】:
标签: powershell hash sha
如果我下载了具有已知 SHA256 哈希的文件,我如何使用 PowerShell 检查该文件是否与预期的哈希匹配?
【问题讨论】:
标签: powershell hash sha
Get-FileHash cmdlet 计算文件的哈希值,SHA256 is its default hash algorithm。
计算文件的哈希值:
Get-FileHash .\path\to\foo.zip
这会产生类似:
Algorithm Hash Path
--------- ---- ----
SHA256 15DC0502666851226F1D9C0FE352CCAF0FFDEFF2350B6D2D08A90FCD1F610A10 C:\Users\me\path\to\foo.zip
要与已知值进行比较,请从 Get-FileHash 的输出中单独提取计算的哈希值,然后将其与作为(引用的)字符串文字的预期值进行比较。方便的是,这种比较似乎不区分大小写
(Get-FileHash .\path\to\foo.zip).Hash -eq "15dc0502666851226f1d9c0fe352ccaf0ffdeff2350b6d2d08a90fcd1f610a10"
True
...或者如果您在文件中有预期的哈希值,例如 expected-hash.sha256
(Get-FileHash '.\path\to\foo.zip').Hash -eq (Get-Content .\expected-hash.sha256)
True
【讨论】: