工具用的顺手吗?
你的反馈能帮助我们做得更好
生成字符串的Adler32校验和,支持文本、Hex、Base64输入,用于数据完整性验证。
输入内容开始计算
概览
了解工具能解决的问题、计算或处理逻辑,以及数据边界。
输入 hello 后,结果区显示 062C0215。这是一个大写十六进制字符串,前四位对应第二个累加和,后四位对应第一个累加和。Adler-32 的目标是给一段数据生成短校验值:两份内容只要有一处变化,结果通常也会变化,因而可以用来发现传输或保存中的意外差异。
校验和不是加密,也不是不可伪造的数字签名。相同结果不能证明两份数据绝对相同,更不能证明来源可信;攻击者也可以有意构造或替换内容。页面只有一个纯文本输入框和一个十六进制结果,不接收文件、Hex 字节串或 Base64 数据,也不输出 Base64 格式。
A₀ = 1,B₀ = 0
Aᵢ = (Aᵢ₋₁ + xᵢ) mod 65521
Bᵢ = (Bᵢ₋₁ + Aᵢ) mod 65521
Adler-32 = B × 65536 + A
RFC 1950 把 xᵢ 定义为输入数据的字节。A 汇总字节值,B 又累积每一步的 A,所以字符顺序会影响结果。标准值通常按 8 位十六进制表示;短 ASCII 文本在本页可以按这个公式复算。
指南
按步骤完成操作,并通过示例核对输入与结果。
把内容原样放入“输入内容”。大小写、空格和换行都会参与运算;Hello 与 hello 应视为不同输入。
输入非空后,右侧出现 Adler-32 (Hex)。结果随文本变化自动重算,可用复制按钮取走显示值。
比较结果前,确保文本内容、换行方式及字符处理方式完全一致。对接按字节实现的库时,尤其要先约定 UTF-8 等编码。
两个值不同可以确认输入不同;两个值相同只能说明校验未发现差异,不能替代逐字节比较或密码学验证。
短 ASCII:输入 Hello World,页面显示 180B041D;输入全小写 hello,页面显示 062C0215。这些字符的文本码值与单字节 ASCII 一致,因此可与 RFC 公式得到相同结果。
中文文本:输入“中文”时,页面显示 01F2B3B5;若另一个程序先按 UTF-8 编码为字节再计算,标准字节结果是 100F044D。差异来自输入单位不同,不代表任一端把同一串字节算错。
高位结果:输入 1000 个小写字母 a 时,页面当前显示 -6278508,而同一内部 32 位位型按无符号十六进制应写作 F9D87AF8。看到负号时,不应把显示串直接交给要求标准 8 位无符号格式的系统。
场景
查看这项工具在不同工作与生活流程中的用法。
两端都使用本页输入相同的短 ASCII 配置片段,结果不同就回查空格、换行或大小写。
开发与测试人员可用已知短字符串生成期望值,确认业务代码是否采用相同初值、模数和结果顺序。
阅读 RFC 1950 时,可拿简短 ASCII 样本逐字符观察 A、B 如何变化,理解 zlib 数据尾部校验字段的计算思路。
问答
集中解答高频疑问与容易混淆的问题。
先查输入编码。本页按文本的 UTF-16 代码单元数值累加,而 RFC 1950 定义的是字节序列;另一个程序若按 UTF-8 字节计算,非 ASCII 文本通常不会得到相同值。
当前显示会把部分最高位为 1 的 32 位结果解释成有符号整数。负号结果不是常见的 8 位无符号十六进制表示;跨系统交换前需要改用能输出无符号值的实现。
按 RFC 初值,空字节序列为 00000001。本页在输入框为空时只显示空状态,不会展示这个值。
不能。Adler-32 面向快速误差检测,不提供抗碰撞或抗篡改安全性。校验下载安全性、签名或对抗恶意修改时,应使用对应协议指定的密码学哈希或签名机制。
须知
使用前了解适用范围、结果限制与必要提醒。
页面按文本字符代码进行累加,没有“文本编码”选项,因此只建议把结果用于当前页面内的快速对照,或用于已确认全部字符都是 ASCII 的短测试样本。非 ASCII 字符、不同换行约定,以及出现负号的结果,都可能与标准按字节实现不兼容。
结果只显示大写 Hex,不支持文件、二进制、Hex 解码输入、Base64 解码输入或分块流式计算。Adler-32 也不能证明内容真实性;安全校验应遵循目标文件格式、协议或发布方指定的方法。
推荐
查找相关工具、专题与可用的 API 能力。