校验和 / CRC32 计算

CRC32、Adler32、Fletcher32、Java String hashCode 与字节累加和,文本与文件皆可。

输入原文
输入字节数
-
输入码元数
-
耗时
-
计算结果
算法十六进制十进制

十进制列对有符号实现(CRC32 有符号、Java hashCode)给出有符号值,其余给出无符号值。

本地计算:全部算法为本站手写纯 JS 实现(lib/checksum.js),文本按 UTF-8 转字节,文件用 FileReader 分块读取后流式喂入,均不上传。CRC32 已与 Node 内置 zlib.crc32 交叉验证,Adler32 与独立参考实现交叉验证。

用途与局限:这些校验和用于「检测意外损坏」(zip/gzip/PNG/以太网帧等都在用),不是密码学哈希:CRC32 只有 32 位,碰撞概率高且可被人为构造,不能用于防篡改、签名或口令存储,那类场景请用 SHA-256 及以上(本站 /tools/sha-hash/)。

Java hashCode:实现为 h = 31*h + c 的 32 位有符号溢出回绕,与 JDK String.hashCode() 一致;对含 emoji 的字符串按 UTF-16 代理对逐码元计算,与 Java 行为相同。