Foundations
Checksums
用 checksum 验证数据完整性
Checksums 是一种 data integrity 校验机制,用来回答一个简单的问题:
数据在传输或存储过程中有没有被改动?
你可以把它想成“给文件拍张照片”:发送方和接收方都计算一次 checksum,只要结果一致,就说明内容没变。

1) What is a Checksum?
Checksum 是把一段 data 通过算法映射成固定长度的值(hash / digest)。
- 如果内容有哪怕 1 bit 改变,checksum 通常也会变
- 通过对比 checksum 来判断数据是否被篡改或损坏
2) How does it work?
基本流程:
- 发送方计算 checksum
- 数据 + checksum 一起发送
- 接收方重新计算 checksum
- 比较两者是否一致

3) Types of Checksums
常见类型:
- CRC (Cyclic Redundancy Check):网络与硬件常用,速度快
- MD5:速度快但已不安全(不适合安全场景)
- SHA-1 / SHA-256:安全性更高,适合安全校验
注意:如果需要防篡改和安全保证,应使用加密 hash(如 SHA-256),而不是简单校验和。
4) Real-world Applications
- File download:对比下载文件的 checksum
- Network packets:TCP/UDP 中的 checksum 字段
- Storage:磁盘或对象存储的完整性校验
- Backups:校验备份文件是否损坏

Quick tips
- 数据越重要,越要做 checksum
- 对安全敏感的场景,要用 SHA-256 / SHA-512
- 对性能敏感的场景,可以用 CRC