Windows怎么用PowerShell计算文件哈希_Windows如何用Get-FileHash校验文件的MD5和SHA值【命令】-1

如果您需要在Windows系统中验证文件的完整性,PowerShell提供了内置命令Get-FileHash,可快速生成文件的哈希值。以下是使用该命令计算MD5、SHA1、SHA256等哈希值的具体操作步骤:

一、基础语法与默认行为

Get-FileHash命令默认使用SHA256算法计算文件哈希值,适用于单个文件或多个文件批量处理。该命令会读取文件的二进制内容并输出哈希结果,不修改原始文件。

1、以管理员身份打开PowerShell窗口。

2、输入命令:Get-FileHash “C:\path\to\file.txt”,将路径替换为实际文件路径。

3、回车执行后,输出结果中Algorithm字段显示为SHA256,Hash字段显示对应哈希值。

二、指定MD5算法计算哈希值

MD5虽已不推荐用于安全敏感场景,但在部分旧系统校验或兼容性需求中仍被使用。Get-FileHash支持通过-Algorithm参数显式指定MD5算法。

1、在PowerShell中执行:Get-FileHash “C:\example.zip” -Algorithm MD5。

2、确认输出中的Algorithm字段为MD5,Hash字段为32位十六进制字符串。

3、如需将结果保存到变量以便后续使用,可输入:$md5 = Get-FileHash “C:\example.zip” -Algorithm MD5。

三、指定SHA1或SHA256算法计算哈希值

SHA1提供160位哈希输出,SHA256提供256位哈希输出,二者均比MD5具备更强的抗碰撞能力。通过-Algorithm参数可自由切换。

1、计算SHA1哈希值:Get-FileHash “C:\data.bin” -Algorithm SHA1。

2、计算SHA256哈希值:Get-FileHash “C:\data.bin” -Algorithm SHA256。

3、对比两个不同算法结果时,可同时运行两行命令,观察Hash字段长度差异:SHA1为40位,SHA256为64位。

四、批量计算多个文件的哈希值

当需校验目录下所有文件时,可结合Get-ChildItem管道传递路径,避免逐一手动输入。此方式适用于结构化校验任务。

1、进入目标目录所在驱动器,例如输入:cd C:\Downloads。

2、执行批量命令:Get-ChildItem *.exe | Get-FileHash -Algorithm SHA256,仅处理.exe文件。

3、如需导出为CSV文件供查看,追加:| Export-Csv -Path “hashes.csv” -NoTypeInformation。

五、校验哈希值是否匹配已知值

将命令输出的哈希值与可信来源提供的值进行比对,是验证文件未被篡改的关键步骤。PowerShell可通过字符串比较实现自动化判断。

1、先获取文件哈希并存入变量:$actual = (Get-FileHash “C:\install.exe” -Algorithm SHA256).Hash。

2、定义预期哈希值(注意全部大写或小写一致):$expected = “A1B2C3D4E5F67890…”。

3、执行比对:if ($actual -eq $expected) { Write-Host “校验通过” } else { Write-Host “校验失败” }。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。