校验和与哈希入门
校验和就是文件的指纹。本文介绍它的原理、哪些算法值得信赖,以及如何用它校验下载的文件。
好的哈希算法有哪些特点
- 相同的输入总是得到相同的哈希值。
- 输入的微小变化会让整个哈希值改变。
- 无法从哈希值还原出文件。
- 几乎不可能找到哈希值相同的两个文件。
哈希、校验和还是签名?
| 术语 | 能证明什么 |
|---|---|
| 校验和(CRC32) | 数据没有意外损坏 |
| 密码学哈希(SHA-256) | 文件与计算哈希时的文件完全相同 |
| 数字签名(GPG、代码签名) | 文件来自持有私钥的人 |
为什么 MD5 和 SHA-1 被淘汰
如今几秒钟就能造出 MD5 相同的两个不同文件,2017 年 SHA-1 也被证明存在同样的问题。攻击者因此可以在保持 MD5 或 SHA-1 不变的情况下替换文件。SHA-256 和 SHA-512 没有这种弱点。