CRC32 校验
计算文本的 CRC32 校验值,十六进制与十进制双格式输出,查表法本地计算。
什么是 CRC32?
CRC(Cyclic Redundancy Check,循环冗余校验)是一种通过多项式除法对数据进行校验的算法,CRC32 即生成 32 位校验值的版本,标准定义见 IEEE 802.3(多项式 0x04C11DB7,初始值 0xFFFFFFFF,输出异或 0xFFFFFFFF)。它对任意长度的数据都能快速算出一个固定长度的校验值,常用于:网络数据包传输校验、zip / gzip 压缩包完整性检查、数据库与存储系统的错误检测。
CRC32 的特点是计算速度快、实现简单,能可靠检测数据的随机错误与意外损坏;但它不是加密哈希,无法抵御蓄意构造的碰撞,安全敏感场景应使用 SHA-256 等算法。本工具采用经典的查表法实现:启动时预生成 256 项查找表,之后每字节只需查表加异或即可完成计算,处理大段文本也很快。输入文本先按 UTF-8 编码为字节再计算,与 zlib、Python 等主流实现完全兼容。
使用步骤
- 在上方输入框中粘贴需要校验的文本,或把文件内容整段粘贴进来;
- 点击「计算 CRC32」,结果区输出十六进制(8 位)与十进制两种格式;
- 与目标程序或工具给出的 CRC32 值逐字符比对;
- 点击「复制」按钮复制结果,便于粘贴到其他文档。
常见问题
CRC32 是什么?
CRC32 是一种基于多项式除法的循环冗余校验算法,对任意数据计算出 32 位(4 字节)校验值,广泛用于网络传输校验、压缩包完整性检查(如 zip、gzip)等领域。
CRC32 能用来校验文件是否被恶意篡改吗?
不建议。CRC32 只能检测随机错误与意外损坏,攻击者可以轻易构造出相同 CRC32 的不同内容;安全场景应改用 SHA-256 等加密哈希。
不同工具算出的 CRC32 为什么可能不一样?
CRC32 有多种变体(初始值、多项式、输出字节序、是否取反不同)。本工具实现的是最通用的标准 CRC-32(IEEE 802.3,初始值 0xFFFFFFFF,结果异或 0xFFFFFFFF),与多数在线工具及编程语言默认实现一致。
中文文本的 CRC32 怎么算?
本工具先把文本按 UTF-8 编码为字节再计算,与 zlib、Python zlib.crc32 等实现一致;若对方按 GBK 等其他编码计算,结果会不同。