三种校验分别解决什么?
| 校验项 | 能发现 | 不能发现 |
|---|---|---|
| SHA256 | 文件被改或损坏 | 官方源本身出错 |
| 签名 | 发布者异常 | 未签名项目 |
| tag | 版本来源 | 二进制是否一致 |
| 文件大小 | 明显错包 | 细微替换 |
Windows 怎么算 SHA256?
PowerShell 执行 Get-FileHash .\文件名 -Algorithm SHA256。把输出和官方校验值逐字比对。
如果下载的是压缩包,校验压缩包本身;解压后还可以对核心二进制再算一次。
macOS 和 Linux 怎么做?
macOS 执行 shasum -a 256 文件名。Linux 也可以用 sha256sum 文件名。
macOS 安装 App 时还要看系统签名提示。提示来源异常时,先回官方仓库确认是否换了发布方式。
签名和哈希哪个更重要?
它们解决不同问题。哈希证明你拿到的是某个固定文件,签名证明文件和发布者身份有关。
开源核心有时只提供哈希,不提供图形安装包签名。桌面 App 则更应该关注签名发布者。
怎么保存校验记录?
把下载 URL、release tag、文件名、SHA256、下载日期记录到本地文本。升级失败时,你能快速回滚到上一个已校验版本。
主编补充:执行前后怎么留痕
代理客户端下载后怎么校验 SHA256 和签名这类问题,读完「三种校验分别解决什么?」之后,先写下当前状态:谁在操作、用的哪个账号或设备、最近改过什么。再对照「Windows 怎么算 SHA256?」每次只改一个变量,成功和失败都截图或保存日志。客户端配置要先保存原文件和日志,再改订阅、DNS 或规则。这样下次同类问题出现时,团队不用重新猜原因。
交付前再做一次复核
代理客户端下载后怎么校验 SHA256 和签名处理完以后,不要只看页面是否恢复。先把这次改过的客户端配置、DNS、路由规则和日志列成一行记录,写清楚原值、新值、操作人和时间点。再回到「三种校验分别解决什么?」和「Windows 怎么算 SHA256?」两处,对照正文里的判断条件复测一次。
如果复测结果和预期不同,先回滚最近一次修改,再看日志或后台提示是否变化。这样做会多花几分钟,但能避免下次同类问题出现时,只剩一句「之前好像改过」。团队协作时,这条记录也能直接变成客服回复、工单备注或内部 SOP 的证据。如果要继续交给别人处理,再补一条「下一步只允许改什么」:例如只换规则模式、只校验一个下载源、只重跑一次校验命令。这样接手的人不会把 DNS、路由、订阅和安装包来源一起改掉。
相关阅读
FAQ
SHA256 不一致一定是恶意文件吗?
不一定,也可能是下载损坏、版本不一致或镜像滞后。但不一致时就不该运行,先重新下载并核对来源。
Windows 和 macOS 都要校验吗?
建议都校验。Windows 看哈希和发布者签名,macOS 还要看 Gatekeeper 或签名提示是否异常。
没有官方哈希怎么办?
优先从官方 Release 下载,保留文件大小、tag 和下载时间。没有哈希时,至少不要从二次打包页面拿安装包。