CRC32 校验

示例
0字符数
0字节
0x04C11DB7多项式
0xFFFFFFFF初值 Init
—HEX
—十进制
—二进制
—Base64

CRC32 计算器

这是 CRC32 计算器:给字节做错误检测校验和,不是密码哈希。 CRC 是对字节做错误检测的校验和,不是密码哈希。本页默认 IEEE CRC-32(以太网、ZIP、PNG、gzip:多项式 0x04C11DB7,反射,初值和 xorout 为 0xFFFFFFFF)。标识符 CRC-32、CRC-32C、MPEG-2、BZIP2、JamCRC、IEEE、UTF-8、Hex、Base64、PNG、ZIP 不翻译。显示示例把 ASCII 123456789 算成 CBF43926(标准 check value)。同一字符串的 CRC-32C 是 E3069283。

如何使用

  1. 粘贴文本、hex、Base64 或 8 位二进制,或拖入文件(最大 10 MB)。自动转换默认开启。
  2. 输入文本走字符编码(默认 UTF-8,另有 GBK、Big5、Shift_JIS 等,与 Base64 工具同一列表)。Hex 校验的是你输入的字节,不是那些字母。Base64 和二进制会先解码成字节。
  3. 算法:CRC-32(IEEE)、CRC-32C(Castagnoli / iSCSI)、MPEG-2、BZIP2 或 JamCRC(IEEE 去掉最终 XOR)。
  4. 输出 HEX / Hex / 十进制 / 二进制 / Base64。结果下方卡片始终显示四种。核对可比较 CBF43926 这类期望值。
  5. 芯片:123456789、JSON {"status":"ok","code":200} → 7CE63E7D、hex 010203040506 → 81F67724(十进制 2180413220)、以及 CRC-32C。

输入编码

CRC32 算的是字节。同一段字在 GBK 和 UTF-8 下校验和不同。Hex 010203040506 是六个字节 01 02 03 04 05 06,不是这些数字的 ASCII。二进制输入按每 8 个 0/1。文件按原始字节计算;在输入框打字会清掉文件。

变体(CRC-32 族)

这些都是 32 位。CRC-32(IEEE)是 ZIP/PNG/以太网的默认。CRC-32C 用多项式 0x1EDC6F41(存储、SCTP、SSE4.2)。MPEG-2 和 BZIP2 用 IEEE 多项式但不反射,xorout 不同。JamCRC 是没有 xorout 的 IEEE,所以同一字节的 hex 是 IEEE 的按位取反(123456789 为 340BC6D9 对 CBF43926)。卡片显示所选变体的多项式和 Init。

输出含义

HEX 是 8 位大写十六进制(32 位)。十进制是无符号 32 位整数。二进制是 32 位按 8 位分组。Base64 编码四个大端字节。CRC32 不是加密,也不是 HMAC。碰撞很容易;用来发现意外损坏,不防攻击者。

常见问题

  • 哪种多项式? IEEE / ZIP / PNG 是 0x04C11DB7(反射表 0xEDB88320)。CRC-32C 是 0x1EDC6F41。
  • 和哈希工具一样吗? 哈希工具的 CRC32 只有 IEEE。本页增加 CRC-32C、MPEG-2、BZIP2、JamCRC、Base64/二进制输入、文件拖放和核对。
  • HMAC? 这里不能把 CRC 当 HMAC。请打开 HMAC 生成器。
  • 会上传吗? 不会。计算在浏览器里完成。

相关工具

MD5/SHA:MD5 与 SHA 哈希。带密钥摘要:HMAC 生成器。字节视图:Hex Dump。

需要 MD5 或 SHA? 打开哈希生成器 →