CRC-32 计算器 (CRC-32 与 CRC-32C)
CRC-32 是 32 位循环冗余校验 — 一种快速的非加密校验和,用于检测 zip、gzip 压缩包、PNG 块、以太网帧及众多文件格式中的意外损坏。本计算器实现标准的反射、查表算法(初值 0xFFFFFFFF、末尾 XOR 0xFFFFFFFF),与著名测试向量 CRC-32("123456789") = 0xCBF43926 一致。还提供 CRC-32C(Castagnoli,多项式 0x1EDC6F41),即 iSCSI、SCTP、ext4 元数据与 Intel SSE4.2 CRC 指令所用的变体,其 "123456789" 向量为 0xE3069283。输入 UTF-8 文本或原始 hex 字节,即可读取小写 hex、大写 hex 与无符号 32 位十进制结果。可用于将下载与公布的 CRC 核对、检查你自行计算的数据,或调试校验和不匹配。全部在本地运行 — 不上传任何内容。注意:CRC-32 仅检测意外错误,并非安全哈希,切勿用于校验不可信或对抗性数据。
CRC-32 检测意外损坏,而非篡改。安全场景请用加密哈希(SHA-256)。
使用方法
- 选择变体(CRC-32 常用;iSCSI/ext4/SSE4.2 用 CRC-32C)。
- 选择输入是 UTF-8 文本还是 hex 字节。
- 输入或粘贴,复制 hex 或十进制结果。
常见问题
- 这是哪种 CRC-32?
- 默认是标准 CRC-32/ISO-HDLC(也称 IEEE 802.3、zlib 的 crc32)— 输入输出反射,初值 0xFFFFFFFF,末尾 XOR 0xFFFFFFFF,多项式 0x04C11DB7(反射形 0xEDB88320)。这正是 zip、gzip、PNG 所用,且与 CRC-32("123456789") = 0xCBF43926 一致。
- CRC-32C 有何用途?
- CRC-32C 使用 Castagnoli 多项式(0x1EDC6F41),错误检测特性更佳。用于 iSCSI、SCTP、Btrfs/ext4 元数据,并由 Intel SSE4.2 CRC32 指令硬件加速。其 "123456789" 向量为 0xE3069283。用一种变体算出的 CRC 不会与另一种相同。
- 能校验二进制数据吗?
- 可以 — 将输入格式切换为 Hex 并粘贴字节(如 0xDEADBEEF 或 'de ad be ef')。工具也接受 UTF-8 文本,会先编码为字节再校验。hex 模式下空格与可选的 0x 前缀会被忽略。
- CRC-32 安全吗?
- 不安全。CRC-32 用于捕捉随机的传输或存储错误,而非防止蓄意篡改 — 构造一个具有相同 CRC 的不同输入非常容易。要对抗攻击者保证完整性,请改用 SHA-256 等加密哈希。
相关工具
二进制补码转换器 (8–64 位)
输入十进制、hex、二进制或八进制值,查看其 8/16/32/64 位二进制补码位模式,以及有符号/无符号读法、hex、八进制与反码 — 在浏览器内完成。
IEEE 754 浮点转换器 (32 与 64 位)
查看任意数字在 float32 与 float64 下的精确 IEEE 754 位布局 — 符号、指数与尾数位、hex、存储值与舍入 — 或将 hex 位解码回数字,全部在浏览器内完成。
哈希生成器 (SHA)
根据文本生成 SHA-1、SHA-256、SHA-384 和 SHA-512 哈希。
Hex Dump 查看器
将文本或小文件以 偏移 + hex 字节 + 可打印 ASCII 显示,类似 `xxd` 或 `hexdump -C`。
位运算计算器
对两个整数进行 AND、OR、XOR、NOT 和移位运算 —— 以二进制、十六进制、无符号和有符号十进制显示,可选 8、16、32 或 64 位宽。
Base64 与十六进制互转
在浏览器中将 Base64 字符串转换为十六进制字节,并将十六进制转换回 Base64,支持 URL-safe。