MD5 与 SHA-256 都是把数据摘要为固定长度指纹的哈希函数,但用途不同。MD5 为 128 位,速度快,但由于可人为构造碰撞,已 在安全用途上被弃用。SHA-256 为 256 位,是目前尚无已知实用攻击的安全标准。
如果只是确认文件是否 偶然损坏,或用作快速判定重复数据的缓存键,MD5·CRC32 就已足够。因为计算快、结果短,处理起来方便。
而 一旦涉及安全 —— 数字签名、证书、密码存储、令牌完整性 —— 就必须使用 SHA-256 或更高级别。因为若攻击者能够构造出拥有相同哈希的伪造数据,验证本身就失去了意义。
总结而言,基本原则是 快速完整性检查用 MD5,需要安全时用 SHA-256。拿不准时选择 SHA-256 更为稳妥。AG HASH 会同时显示两个值,您可根据场景自行选用。