技术与生活 / 一篇记录
文件传过去了,内容真的一样吗?
相同大小并不能证明内容相同,摘要比较可以发现传输或存储中的变化。
长度一致只能排除部分截断问题,不能排除内容替换或局部损坏。发送前后各计算一次 SHA-256,可以把文件完整性检查变成明确的比较动作。
从一个例子看起
以下示例面向常见 GNU/Linux 环境,文件名为实验用占位名称。
sha256sum archive.tar.gz
在发送端和接收端分别计算,确认摘要一致。
排查时再往前走一步
比较完整摘要,而不是只看前几位。如果文件在计算过程中还会变化,应先获得稳定副本;验证发布来源则还需要可信的摘要渠道或签名。
校验时最好把摘要与明确的文件名、大小和版本关联。下载到错误版本但内容完整,依然可能得到一个完全正常的摘要;只有与预期发布记录对应,比较结果才真正有意义。
摘要来自不可信渠道时,无法单独证明文件来源可信。
参考:Linux 文档。