CRC-32哈希生成器
数据完整性的标准循环冗余校验
CRC-32是世界上最广泛使用的非加密校验和函数。通过多项式除法生成32位哈希(8个十六进制字符)。CRC-32无处不在:ZIP和PNG格式、以太网网络、USB协议和文件系统。
什么是CRC-32?
CRC-32将输入数据视为一个大多项式,计算除以固定生成多项式后的余数。
✅ 优势
- • 硬件加速: Intel CRC32指令以内存速度计算
- • 强力检测: 检测所有1位、2位和奇数位错误
- • 通用标准: 以太网、USB、ZIP、PNG、MPEG-2
- • 简单快速: 查找表实现快速计算
📊 用途
- • 归档: ZIP和gzip完整性验证
- • 网络: 以太网帧验证
- • 存储: 文件系统完整性
- • 多媒体: PNG和MPEG文件完整性
⚠️ 安全提示
CRC-32不是加密哈希函数。 设计用于检测随机错误,而非防止蓄意篡改。
🔄 CRC-32对比
🔵
CRC-32
32位,多项式
错误检测,非加密
🟢
Adler-32
32位,算术
更快但检测力弱
🟡
MD5
128位,加密
慢得多但安全
❓ 常见问题
CRC-32和CRC-32B有什么区别?
使用不同的生成多项式。CRC-32B是PHP默认计算的变体。
CRC-32为什么不能用于安全?
CRC-32是线性可逆的。攻击者可以轻松生成碰撞。
CRC-32能检测所有错误吗?
不能。CRC-32检测所有1位和2位错误,但可能遗漏某些错误模式。