推荐资源
即梦AI
抖音出品 AI视频图片生成
Envato Elements
无限下载设计素材与模版
Eagle
图片素材文献管理神器
Setapp
畅享240+款Mac优质应用
CRC校验计算器
支持任意模型参数,文件/文本/Hex 校验
校验结果 (HEX)
十进制 (Decimal)
二进制 (Binary)
什么是 CRC 校验?
循环冗余校验 (Cyclic Redundancy Check, CRC) 是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种散列函数。 它主要用来检测或校验数据传输或者保存后可能出现的错误。生成的数字在传输或者存储之前计算出来并且附加到数据后面, 然后接收方进行检验确定数据是否发生变化。
常见算法模型
- CRC-32: 最常见的标准,广泛用于以太网、ZIP 文件压缩、PNG 图片格式等。
- CRC-16-MODBUS: 工业自动化领域的标准,用于 Modbus 通信协议。
- CRC-16-CCITT: 常见于 X.25、HDLC、蓝牙等通信协议。
- CRC-8: 用于 SMBus、1-Wire 等低速总线通信校验。
多项式与碰撞
CRC 的核心在于生成多项式 (Polynomial)。不同的多项式决定了 CRC 算法的检错能力。 虽然 CRC 不是加密哈希函数(如 MD5, SHA-256),容易发生碰撞(不同的数据产生相同的 CRC 值), 但它在检测常见的随机传输错误(如位反转)方面非常高效且易于硬件实现。
数学原理:模 2 除法
CRC 计算本质上是多项式除法的余数。 在二进制域中,这种除法使用“模 2 运算”(即异或运算 XOR,不进位加法)。 发送方将数据视为一个长多项式,除以选定的生成多项式,将余数作为 CRC 码附在数据后。 接收方执行同样的除法,如果余数为 0,则认为数据传输无误。
应用场景
除了网络通信,CRC 也常用于文件完整性校验。 例如,下载大文件时,网站通常会提供 CRC32 或 MD5 值供用户比对。 在嵌入式开发中,CRC 常用于校验固件升级包(OTA)的完整性,防止刷入损坏的固件导致设备变砖。
专注白噪音
雨声Lofi,为设计提供完美背景音。
精选神器
AD阿里云
爆款云服务器特惠抢购
腾讯云
云产品特惠 性价比首选
腾讯元宝
免费DeepSeek AI助手

小绿鲸
英文文献阅读 科研必备
ADVERTISEMENT
