CRC32
CRC32 是 32 位循环冗余校验,基于 GF(2) 多项式除法,用于检测传输错误,非加密哈希。
用途
高效检测突发错误(burst error),用于数据完整性校验而非安全认证。
机制
将输入比特流视为 GF(2) 多项式,除以生成多项式(如 0x04C11DB7),余式为 32 位 CRC。不同多项式(IEEE、Castagnoli 等)有不同检错特性。CRC32C(Castagnoli)性能与检错更优。
用例
- ZIP/GZIP 文件校验
- 以太网帧 FCS
- SSE/AVX 加速校验
- iSCSI 数据校验
示例
- 输入
hello输出0x3610a686IEEE 802.3 polynomial
常见错误
- Using CRC32 for cryptographic authentication (not collision resistant)
- Use HMAC-SHA256 for authentication