CRC校验计算器

CRC校验计算器

CRC 是什么?它与密码哈希有什么区别?

CRC(循环冗余校验)是一种校验和算法,用于检测数据传输或存储过程中的意外位错误。与 SHA-256 等密码哈希不同,CRC 并非为防止恶意篡改而设计——攻击者可以精心构造出能产生任意目标 CRC 值的数据。在通信协议中使用 CRC 进行错误检测,在需要安全性的完整性验证场景中使用密码哈希。

应该选择哪种 CRC 变体?

CRC-32(ISO 3309)广泛用于以太网、ZIP 和 PNG 文件。CRC-16/MODBUS 是工业协议的标准。CRC-16/CCITT 适用于串行通信。CRC-8 适合嵌入式系统中的短消息。如果协议规范指定了特定的多项式和初始值,请务必完全匹配。

为什么我的 CRC 计算结果与预期值不符?

CRC 结果取决于四个参数:多项式、初始值、输入/输出反转以及最终异或值。其中任何一个不匹配都会产生不同的结果。另外还要检查输入是否以 UTF-8、ASCII 还是原始字节编码——相同的文本字符串可能产生不同的字节序列,进而得出不同的 CRC 值。

CRC-16/MODBUS 和 CRC-16/CCITT 有什么区别?

两者都是 16 位 CRC,但使用不同的多项式和初始值。CRC-16/MODBUS 使用多项式 0x8005、初始值 0xFFFF,输入和输出都做位反转。CRC-16/CCITT(也称 CRC-CCITT 或 CRC-16-IBM)使用多项式 0x1021、初始值 0xFFFF。这两种算法对相同数据会产生完全不同的输出。

能计算二进制文件的 CRC 而不仅仅是文本吗?

可以——使用十六进制输入格式粘贴二进制数据的十六进制字节。工具会处理原始字节值,无论它们是否表示可打印字符。对于非常大的二进制文件,命令行工具(如 cksum)或 Python 的 binascii.crc32() 更为实用。

相关推荐

《战狼2》跻身全球票房前百榜,而且99%靠的是本土票房
望远镜:探索宇宙的“千里眼”科普指南
beat365唯一网址

望远镜:探索宇宙的“千里眼”科普指南

01-27 👁️ 8397
黄晓明angelababy婚礼明星
48365365

黄晓明angelababy婚礼明星

09-15 👁️ 5972