CRC-32 哈希码计算器
已出版: 2025年2月17日 UTC 18:12:40
最后更新 2026年1月12日 UTC 09:14:59
为了使尽可能多的人能够访问本页面,本页面由英文机译而成。遗憾的是,机器翻译技术尚不完善,因此可能会出现错误。如果您愿意,可以在此处查看原始英文版本:
CRC-32 Hash Code Calculator
CRC-32 Hash Code Calculator
循环冗余校验 (CRC) 是一种常用的错误检测码,用于检测原始数据的意外更改。虽然严格来说它并非加密哈希函数,但由于 CRC-32 能够从可变长度的输入生成固定长度(32 位)的输出,因此通常被称为哈希函数。
完全披露:本页面使用的哈希函数的具体实现并不是我写的。它是 PHP 编程语言中的一个标准函数。我只是为了方便,制作了网络接口,以便在此公开使用。
关于 CRC-32 哈希算法
我不是数学家,但我会尝试用一个简单的类比来解释这个哈希函数。与许多密码学哈希函数不同,它并不是一个特别复杂的算法,所以应该没问题 ;-)
想象一下,你要寄一封信,但担心它在到达收件人之前可能会损坏。你根据信件内容计算出一个 CRC-32 校验和,并将其写在信封上。收件人收到信件后,也可以计算这个校验和,看看是否与你写的内容一致。如果一致,则说明信件在寄送过程中没有损坏或被篡改。
CRC-32 的计算过程分为四个步骤:
第一步:增加一些额外空间(填充)
- CRC 会在消息末尾添加一些额外的空间(就像盒子里的包装花生一样)。
- 这有助于它更容易地发现错误。
步骤二:神奇的尺子(多项式)
- CRC-32 使用一种特殊的“神奇标尺”来测量数据。你可以把这个标尺想象成一个由凸起和凹槽组成的图案(这就是多项式,但不用担心这个词)。CRC-32 最常用的“标尺”是固定图案。
步骤 3:滑动标尺(除法过程)
- 现在,CRC 会用标尺沿着信息滑动。每滑动到一点,它都会检查标尺上的凸起和凹槽是否对齐。如果不对齐,CRC 就会记录一次(这是通过简单的异或运算实现的,就像拨动开关一样)。它会一直滑动标尺并拨动开关,直到到达末尾。
步骤 4:最终结果(校验和)
- 用标尺划过整个消息后,你会得到一个很小的数字(32 位),它代表原始数据。这个数字就像消息的唯一指纹。这就是 CRC-32 校验和。
页面上显示的版本是原始的 CRC-32 函数,为了与其他系统获得最佳兼容性,您应该使用该函数。
我也有其他变体的计算器:
- 关联
- 关联
进一步阅读
如果您喜欢这篇文章,您可能还会喜欢这些建议:
