首页/安全/取证与溯源速查/哈希比对与差异处理
证据与报告57 条

哈希比对与差异处理

比对时注意算法一致与格式一致;出现差异按读取错误、镜像截断、文件被改动三类原因逐项排查后再决定重做与否。

取证与溯源速查安全更新于 2026-10-13

哈希比对与差异处理

哈希比对是证据完整性的基础动作,但比对比看起来更容易出错:算法要一致、输出格式要一致、文件范围也要一致。出现不一致时,按读取错误、镜像截断、采集后被改动三类原因逐项排查,弄清原因再决定是否需要重新采集或重新出具结论。

基本信息

Linuxsha256sum -c <清单文件> 按清单逐项校验
WindowsGet-FileHash -Algorithm SHA256 或 certutil -hashfile <文件> SHA256
比对前提算法一致、文件范围一致、大小写与空格处理一致
差异原因读取错误、镜像截断、比对对象不一致或被改动
留痕要求校验时间、执行人、结果一并记入取证日志

典型使用场景

  • 采集完成时验证镜像与源盘哈希是否一致
  • 证据交接时确认双方拿到的是同一份数据
  • 分析途中怀疑副本损坏,快速定位具体文件
  • 排查同一文件在不同工具下哈希不同的原因
  • 归档前对全部证据文件做一轮批量校验

两平台比对

两平台比对
sha256sum -c /evidence/sdb.sha256                         # Linux:按清单逐项校验
sha256sum /evidence/sdb.dd > /evidence/sdb.sha256          # 生成校验清单
certutil -hashfile E:\evidence\sdb.dd SHA256               # Windows:命令行计算
Get-FileHash -Algorithm SHA256 E:\evidence\sdb.dd          # Windows:PowerShell 计算
# 两侧结果比对前统一大小写与分隔符,避免格式差异被当作内容差异

差异原因排查

现象可能原因处理方式
大小不同镜像截断或导出未完成重新采集并核对源介质容量
哈希不同读取错误或文件被改动换介质重算,必要时重新采集
单文件异常文件被后续操作修改查操作记录并解释改动来源
整批不一致比对口径不同先核对算法与文件范围再判断
不同工具输出的哈希在大小写、是否带空格、是否含文件名上都不一样,比对脚本里先统一成小写再去掉空白,否则格式差异会被误报成内容不一致,既浪费时间也动摇结论的可信度。
校验结果必须与时间、执行人一起留痕。同一介质事后重算得到不同结果时,要先解释清楚原因再对外出具结论,不能只挑对自己有利的那一次结果写进报告。

易错点

  • 两侧使用不同算法就做比对,结论必然显示不一致
  • 把大小写、空格等格式差异当成内容差异处理,误报为证据被篡改
  • 源盘侧哈希缺失、只有镜像侧结果,完整性链条无法闭环
  • 发现问题后直接重采,未先记录并解释差异原因,前后数据无法对照

数据来源与参考

  • GNU coreutils(sha256sum 手册)
  • Microsoft Learn(Get-FileHash/certutil)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌