如何将 powershell 中文件的 SHA256 哈希值与已知值进行比较?附加问题
Posted
技术标签:
【中文标题】如何将 powershell 中文件的 SHA256 哈希值与已知值进行比较?附加问题【英文标题】:How can I compare a files's SHA256 hash in powershell to a known value? Additional question 【发布时间】:2022-01-10 13:17:04 【问题描述】:@Mac 我刚刚找到了 powershell 的以下链接,它非常有帮助。如何指定里面有普通文本,比如一个 .txt 文件,而不仅仅是散列。例如,我正在使用的 .txt 中有描述性文本,第一行是文件名,第二行是 MD5 校验和:xxxxxxxxxxxx,第三行是 SHA-1 校验和:xxxxxxxxx,最后一行是 SHA-256 校验和: xxxxxxxxx。有什么想法吗?
How can I compare a files's SHA256 hash in powershell to a known value?
【问题讨论】:
这是我的问题所指的 powershell 代码。 (Get-FileHash '.\path\to\foo.zip').Hash -eq (Get-Content .\expected-hash.sha256) 我没有关注,哈希是硬编码在文件内容中的吗?如果是这样,请提供文件内容的表示。 【参考方案1】:使用Select-Object -Last 1
只抓取Get-Content
输出的最后一行:
# Grab last line from file
$sha256Line = Get-Content .\file-with-hashes.txt |Select -Last 1
# Remove everything but the trailing hash
$expectedHash = $sha256Line -replace '^.*([A-F0-9]64)\s*$','$1'
现在您可以比较Get-FileHash
和$expectedHash
的Hash
输出
【讨论】:
...或Get-Content file.txt -Tail 1
:)
优秀!!!非常感谢你们的帮助!我现在有一个很棒的自动化!以上是关于如何将 powershell 中文件的 SHA256 哈希值与已知值进行比较?附加问题的主要内容,如果未能解决你的问题,请参考以下文章
用PowerShell的命令行检查文件的校验MD5 SHA1 SHA256
Windows下计算文件MD5和SHA256等摘要的方法(利用PowerShell)