"easy" 8 位校验和
"easy" checksum in 8 bits
我正在寻找产生 1 字节校验和的快速校验和算法。
我检查了 CRC8 和 Adler8,但我没有完全理解样本。
另外,不同的 CRC8 实现会给出不同的结果。
在所有情况下,我都不需要任何花哨的东西。
CRC 基于一种有限域数学,使用具有 1 位系数的多项式(数学模 2)。 8 位 CRC 是将数据视为具有 1 位系数的非常长的多项式被除数并将其除以 9 位多项式除数,从而产生 8 位余数的结果。由于使用了 1 位系数,因此加法或减法有效地变为异或。您实际上不需要了解有限域数学来实现 CRC,只需使用查找 table 或使用算法来生成 CRC。
您可以将所有字节相加成一个 1 字节的总和,并将其用作校验和。 CRC 的优点是如果字节丢失或乱序,它有更好的机会检测到。
我正在寻找产生 1 字节校验和的快速校验和算法。
我检查了 CRC8 和 Adler8,但我没有完全理解样本。
另外,不同的 CRC8 实现会给出不同的结果。
在所有情况下,我都不需要任何花哨的东西。
CRC 基于一种有限域数学,使用具有 1 位系数的多项式(数学模 2)。 8 位 CRC 是将数据视为具有 1 位系数的非常长的多项式被除数并将其除以 9 位多项式除数,从而产生 8 位余数的结果。由于使用了 1 位系数,因此加法或减法有效地变为异或。您实际上不需要了解有限域数学来实现 CRC,只需使用查找 table 或使用算法来生成 CRC。
您可以将所有字节相加成一个 1 字节的总和,并将其用作校验和。 CRC 的优点是如果字节丢失或乱序,它有更好的机会检测到。