CRC32开发示例

58 0

CRC-32 是 32 位循环冗余校验,用来发现意外的数据损坏,不是密码学哈希,也不能防故意篡改。下面重点说明输入与输出对照。

CRC32开发示例

输入计算结果
a+b=ce043e6cd(十进制 3762546381)
2026-11-116514f4e8(十进制 1695872232)
你好,世界acf5da54(十进制 2901793364)
user@example.com616df5a1(十进制 1634596257)
https://www.123wen.cn/?q=测试0e639547(十进制 241407303)
<b>粗体</b>62704e05(十进制 1651527173)

核心要点

  • 输出 32 位,8 个十六进制字符或一个无符号整数
  • “abc”的 CRC-32(crc32b)是 352441c2
  • 空数据的 CRC-32 是 00000000
  • 存在多种 CRC-32 变体(初始值、是否异或输出、多项式是否反转),名称要写清楚
  • 不能当哈希用在签名或密码上,造冲突非常容易

中文的处理

“中文”按 UTF-8 的 CRC-32 是 5a09ed37。

本站的哈希全家桶工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。

常见问题

【为什么和网上工具不一致?】多半不是同一种 CRC-32 变体,或字符串带了换行。

【Python 里为什么有时是负数?】zlib.crc32 返回有符号区间,用 & 0xFFFFFFFF 再格式化即可。

【和 Adler-32 有什么不同?】Adler-32 是另一种校验和(zlib 常用),更简单,查错能力也不同。

文中示例可以在本站对应工具中验证;处理密钥、证书等敏感数据时,请注意保护隐私。

署名:123问编辑部 · 最近修订:2026-11-11 · 已按编辑与审核说明检查;内容仅供参考,不构成医疗、法律或投资建议。发现错误可查看纠错方式。

标签: 数码开发

抱歉,评论功能暂时关闭!