SKILL.md
2.9 KB查看排版效果| 1 | --- |
| 2 | name: file-hash-checker-20261106 |
| 3 | description: 本地离线文件哈希校验工具,计算单个或目录下多个文件的 SHA256/SHA1/SHA384/SHA512/MD5 哈希,可生成标准校验清单并按清单核验文件完整性,输出 OK/FAILED/缺失状态,全程不联网。 |
| 4 | --- |
| 5 | |
| 6 | # 文件哈希校验工具 |
| 7 | |
| 8 | 本技能是一个**纯本地、离线**的文件完整性校验工具: |
| 9 | |
| 10 | - **能做什么**:计算文件哈希值;对目录递归批量计算;生成标准校验清单(`哈希 文件名`);依据清单核验文件是否被篡改或丢失,逐个给出 OK / FAILED / MISSING 状态并汇总; |
| 11 | - **带不带脚本**:带一个 PowerShell 脚本 `scripts/Get-FileChecksum.ps1`,基于自带的 `Get-FileHash`,无需第三方模块; |
| 12 | - **联不联网**:**不联网**,不发起任何网络请求; |
| 13 | - **写不写文件**:计算结果默认输出到屏幕;只有传入 `-Manifest` 生成清单时才写入文件。 |
| 14 | |
| 15 | ## 适用场景 |
| 16 | |
| 17 | - 文件分发、归档、备份前后的完整性校验; |
| 18 | - 核对下载文件与官方提供的哈希值是否一致; |
| 19 | - 批量生成校验清单,供接收方离线核验; |
| 20 | - 质量管理(QA)中对批记录、电子文件、固件包等做完整性检查。 |
| 21 | |
| 22 | ## 使用方法 |
| 23 | |
| 24 | ```powershell |
| 25 | # 计算单个文件(默认 SHA256) |
| 26 | .\scripts\Get-FileChecksum.ps1 -Path .\package.zip |
| 27 | |
| 28 | # 指定算法并比对预期值 |
| 29 | .\scripts\Get-FileChecksum.ps1 -Path .\package.zip -Algorithm MD5 -Expected 'd41d8cd98f00b204e9800998ecf8427e' |
| 30 | |
| 31 | # 递归计算目录下全部文件,生成校验清单 |
| 32 | .\scripts\Get-FileChecksum.ps1 -Path .\dist -Recurse -Manifest .\dist\SHA256SUMS.txt |
| 33 | |
| 34 | # 按清单核验(路径相对于清单所在目录解析) |
| 35 | .\scripts\Get-FileChecksum.ps1 -Verify .\dist\SHA256SUMS.txt |
| 36 | ``` |
| 37 | |
| 38 | ## 参数说明 |
| 39 | |
| 40 | | 参数 | 说明 | 默认值 | |
| 41 | |---|---|---| |
| 42 | | `-Path` | 一个或多个文件/目录路径(计算模式) | 空 | |
| 43 | | `-Algorithm` | `SHA256`、`SHA1`、`SHA384`、`SHA512`、`MD5` | `SHA256` | |
| 44 | | `-Recurse` | 目录递归处理子文件夹 | 关闭 | |
| 45 | | `-Expected` | 预期哈希值,传入时与实际值比对并输出 MATCH/MISMATCH | 空 | |
| 46 | | `-Manifest` | 将结果写入校验清单(UTF-8 无 BOM) | 空 | |
| 47 | | `-Verify` | 校验模式:指定清单文件路径,按清单核验 | 空 | |
| 48 | |
| 49 | ## 清单格式 |
| 50 | |
| 51 | 采用通用 `sha256sum` 风格,每行一个文件: |
| 52 | |
| 53 | ``` |
| 54 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 data/report.pdf |
| 55 | ``` |
| 56 | |
| 57 | - 哈希与文件名之间为两个空格;也兼容 `HASH *文件名` 的二进制标记写法; |
| 58 | - 清单内使用相对路径(相对于清单文件所在目录),便于整目录迁移后校验; |
| 59 | - 校验结束输出汇总行;存在 FAILED 或 MISSING 时脚本退出码为 1,全部通过为 0,可直接用于自动化流程。 |
| 60 | |
| 61 | ## 安全提示 |
| 62 | |
| 63 | MD5、SHA1 仅适用于完整性校验,不能用于防篡改的安全场景;安全用途请选择 SHA256 或更高算法。 |
文件内容是平台检查时读出的文本,只供查看。平台不会运行包里的任何脚本或程序。

