CRC-32 / CRC-16纯前端 · 校验码

CRC-32 与 CRC-16 校验码计算,常用于文件完整性验证(与 ZIP/PNG 格式一致)。仅作数据校验,不具备加密保护能力。

输入文本
CRC-32(hex,大写)
—
CRC-16-CCITT(hex,大写)
—

留言板

0 条留言
Markdown
0 字
对话记录每个声音,都值得被看见

对话,从你开始

还没有留言。分享一个想法,或只是打声招呼。

免费 CRC 校验计算 · CRC-32 与 CRC-16 文本校验码 · 萤炬工具箱 · 工具说明与使用指南

免费 CRC 校验计算 · CRC-32 与 CRC-16 文本校验码 · 萤炬工具箱

适用场景与相似需求

排查传输和数据格式校验时,需核对算法变种、输入字节与输出表示;CRC 不抗恶意篡改,不提供密码学安全或加密。

CRC-32 与 CRC-16 在线计算器把输入文本按 UTF-8 编成字节,同时给出两种固定宽度的大写十六进制校验值,适合调试文本报文、对照协议样例或检查两份文本是否发生意外变化。CRC-32 使用 ZIP、PNG 常见的 IEEE 算法,CRC-16 使用 CCITT-FALSE 参数;它并不读取 ZIP 或 PNG 文件内部结构。与 SHA 摘要、HMAC 签名不同,CRC 面向传输差错检查,不能证明消息来自谁,也不能防止主动篡改。

使用步骤

  1. 先确认待校验的是文本内容,而不是一串代表二进制报文的 Hex 字符;页面会把输入的每个可见字符按 UTF-8 编码。
  2. 把原始文本粘贴到输入框,保留要参与校验的空格和换行。结果实时刷新,不需要另点计算按钮。
  3. 根据协议要求读取 CRC-32 或 CRC-16-CCITT。前者补齐八位十六进制,后者补齐四位,注意不要漏掉开头的零。
  4. 点击对应结果的复制按钮,再与另一端计算值逐字比较;不一致时先查编码、换行和 CRC 参数,再怀疑传输或计算错误。

功能与限制

  • 输出是大写 Hex 字符串,不是报文中校验字节的高低位排列;协议要求小端发送时应按协议另行组包。
  • 校验值相同不能排除碰撞,更不能作为密码存储、电子签名或恶意篡改防护,安全认证请使用合适的密码学方案。
  • 复制报错时先检查剪贴板权限,结果仍可手动选择。提交调试记录时同时标明编码和算法变体,才有可比性。

常见问题

CRC-16 到底是哪一个变体,能与 Modbus 直接对照吗?
本页使用多项式 0x1021、初始值 0xFFFF、无输入输出反射的 CRC-16/CCITT-FALSE。CRC-16 不是单一算法名称,Modbus 等变体的参数不同,不可仅凭都是四位校验码就要求结果相等,页面也没有参数切换功能。
输入 48656C6C6F 会按 Hello 的字节计算吗?
不会。这些数字和字母会被当成十个文本字符,而非先按十六进制解码成五个字节。若协议传的是二进制,应使用可直接接收字节的校验工具;只有确实按 UTF-8 表达的文本才适合本页输入。
同样一段中文为什么和其他软件的 CRC 不同?
中文在 UTF-8、GBK 等编码下对应不同字节,校验值自然不同。末尾是否含换行、行尾是 LF 还是 CRLF、是否带 BOM,也会改变结果。应对照真实字节,而不只看屏幕上的字长或视觉内容。
空输入为什么显示横线,不显示空串的 CRC?
页面在输入为空时直接返回空结果,用横线作占位,没有把空串送入算法。需要验证空消息的标准测试向量时,不要把这里的占位符当成数值零,也不要添加空格代替空输入,因为空格本身会参与校验。
有文件大小上限或上传步骤吗?
这里只接收文本,没有文件选择器或服务端校验请求,也没有设定固定字符数上限。大量文本会触发本地逐字节计算与实时刷新,浏览器卡顿时应改用文件级校验程序,不能靠随意分段后拼接 CRC 来代替整段结果。