logo
Foundations

Checksums

用 checksum 验证数据完整性

Checksums 是一种 data integrity 校验机制,用来回答一个简单的问题:

数据在传输或存储过程中有没有被改动?

你可以把它想成“给文件拍张照片”:发送方和接收方都计算一次 checksum,只要结果一致,就说明内容没变。

checksums-1

1) What is a Checksum?

Checksum 是把一段 data 通过算法映射成固定长度的值(hash / digest)。

  • 如果内容有哪怕 1 bit 改变,checksum 通常也会变
  • 通过对比 checksum 来判断数据是否被篡改或损坏

2) How does it work?

基本流程:

  1. 发送方计算 checksum
  2. 数据 + checksum 一起发送
  3. 接收方重新计算 checksum
  4. 比较两者是否一致

checksums-2

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:校验备份文件是否损坏

checksums-4

Quick tips

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

相关练习题

Checksums

暂无相关练习题