跳到主要内容

file-hash-checker-20261106

收藏0

本地离线文件哈希校验工具,计算单个或目录下多个文件的 SHA256/SHA1/SHA384/SHA512/MD5 哈希,可生成标准校验清单并按清单核验文件完整性,输出 OK/FAILED/缺失状态,全程不联网。

让 AI 安装

Mercury最新版本 0.1.0更新于 2026-11-06下载 0 次

SKILL.md

文件哈希校验工具#

本技能是一个纯本地、离线的文件完整性校验工具:

  • 能做什么:计算文件哈希值;对目录递归批量计算;生成标准校验清单(哈希 文件名);依据清单核验文件是否被篡改或丢失,逐个给出 OK / FAILED / MISSING 状态并汇总;
  • 带不带脚本:带一个 PowerShell 脚本 scripts/Get-FileChecksum.ps1,基于自带的 Get-FileHash,无需第三方模块;
  • 联不联网:不联网,不发起任何网络请求;
  • 写不写文件:计算结果默认输出到屏幕;只有传入 -Manifest 生成清单时才写入文件。

适用场景#

  • 文件分发、归档、备份前后的完整性校验;
  • 核对下载文件与官方提供的哈希值是否一致;
  • 批量生成校验清单,供接收方离线核验;
  • 质量管理(QA)中对批记录、电子文件、固件包等做完整性检查。

使用方法#

# 计算单个文件(默认 SHA256)
.\scripts\Get-FileChecksum.ps1 -Path .\package.zip

# 指定算法并比对预期值
.\scripts\Get-FileChecksum.ps1 -Path .\package.zip -Algorithm MD5 -Expected 'd41d8cd98f00b204e9800998ecf8427e'

# 递归计算目录下全部文件,生成校验清单
.\scripts\Get-FileChecksum.ps1 -Path .\dist -Recurse -Manifest .\dist\SHA256SUMS.txt

# 按清单核验(路径相对于清单所在目录解析)
.\scripts\Get-FileChecksum.ps1 -Verify .\dist\SHA256SUMS.txt

参数说明#

参数说明默认值
-Path一个或多个文件/目录路径(计算模式)空
-AlgorithmSHA256、SHA1、SHA384、SHA512、MD5SHA256
-Recurse目录递归处理子文件夹关闭
-Expected预期哈希值,传入时与实际值比对并输出 MATCH/MISMATCH空
-Manifest将结果写入校验清单(UTF-8 无 BOM)空
-Verify校验模式:指定清单文件路径,按清单核验空

清单格式#

采用通用 sha256sum 风格,每行一个文件:

e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855  data/report.pdf
  • 哈希与文件名之间为两个空格;也兼容 HASH *文件名 的二进制标记写法;
  • 清单内使用相对路径(相对于清单文件所在目录),便于整目录迁移后校验;
  • 校验结束输出汇总行;存在 FAILED 或 MISSING 时脚本退出码为 1,全部通过为 0,可直接用于自动化流程。

安全提示#

MD5、SHA1 仅适用于完整性校验,不能用于防篡改的安全场景;安全用途请选择 SHA256 或更高算法。

用途与依赖

作者没写,这些是平台读文件后整理的,以文件为准。

使用示例

请求:帮我计算 dist 目录下所有文件的 SHA256,并生成校验清单。

预期

运行 PowerShell 脚本:.\scripts\Get-FileChecksum.ps1 -Path .\dist -Recurse -Manifest .\dist\SHA256SUMS.txt,递归计算每个文件的 SHA256,并将结果写入 dist/SHA256SUMS.txt(UTF-8 无 BOM),同时输出写入的文件数和算法。

适用场景
  • 文件分发、归档、备份前后的完整性校验
  • 核对下载文件与官方提供的哈希值是否一致
  • 批量生成校验清单,供接收方离线核验
  • 质量管理中对批记录、电子文件、固件包等做完整性检查
  • 检测文件是否被篡改或丢失
输入
  • 一个或多个文件/目录路径(-Path)
  • 哈希算法(-Algorithm,可选 SHA256/SHA1/SHA384/SHA512/MD5,默认 SHA256)
  • 是否递归处理子目录(-Recurse)
  • 预期哈希值(-Expected,可选,用于比对)
  • 校验清单输出路径(-Manifest,可选)
  • 要核验的清单文件路径(-Verify,校验模式)
输出
  • 文件哈希值表格(算法、哈希、路径)
  • 与预期值比对结果(MATCH/MISMATCH)
  • 校验清单文件(sha256sum 风格,UTF-8 无 BOM)
  • 核验结果表格(OK/FAILED/MISSING)及汇总行
  • 脚本退出码(全部通过为 0,存在失败或缺失为 1)
运行环境
PowerShell 5.1 或更高版本(Windows)
依赖
无