第 5 课

Hash 调试流程

checksum 不一致与完整性校验的实用排查流程。

当 checksum 对不上时,问题通常在字节层面,而不是 Hash 数学本身。

先确认参考 Hash 的来源

查看发布页、Release Notes、lockfile 条目或内部文档,并记录:

  • 算法名称(MD5 还是 SHA-256)
  • 输出格式(小写 hex 很常见)
  • Hash 覆盖的是压缩包本身还是解压后的文件

Hash 正确的产物

下载的 .zip.tar.gz、安装包应按下载后的原文件计算。除非参考说明明确要求,否则不要对解压目录做 Hash。

文本对比要格外小心

字符串对比时确认编码(UTF-8 还是 Latin-1)、换行符(\n 还是 \r\n)以及不可见空白。批量模式适合在相同规则下处理多行值。

二进制请用文件模式

日志、图片、编译产物应基于原始字节 Hash。通过文本粘贴可能因编码转换而破坏二进制内容。

仍然不一致时

  • 重新下载,排除传输不完整
  • 对比文件大小与修改时间
  • 确认上游是否更新了产物但未更新公布的 checksum
  • 检查是否 Hash 了被转换过的副本(格式化 JSON、规范化路径等)

本地 Hash 生成器能帮你快速迭代,但可信的参考 Hash 仍应来自你要校验的那个权威来源。

想动手练习时,可使用 DevCove 相关工具——可选,不属于本课正文。

打开相关工具

返回课程概览