CRC32 这类 校验和 与 SHA-256 这类 密码学哈希 都是把数据摘要为短值,但目的截然不同。校验和用于检测 偶然错误,密码学哈希用于防止 恶意篡改。
CRC32 能快速捕捉传输·存储过程中位翻转的偶然损坏。ZIP·PNG·以太网都在使用它。但由于 很容易蓄意构造 出具有指定 CRC 值的数据,因此无法用于抵御攻击者。
密码学哈希被设计为 在计算上不可能 构造出拥有相同哈希的另一份数据。因此适用于下载完整性·签名·认证等对方可能试图行骗的场景。代价是计算比 CRC32 更繁重。
选择标准很简单。只需捕捉简单错误就用 CRC32,一旦涉及篡改·安全就用 SHA-256 或更高级别。AG HASH 会同时显示两个值,您可根据场景对照确认。