例如,数据的反向 CRC32 ='1' = 0x83dcefb7
但我想使用多项式 0x04C11DB7 的正常/前向 CRC-32 代码。我还需要执行什么步骤才能获得与反向多项式相同的 CRC(即:0x83dcefb7)
我尝试用位反转输入和最终的 CRC 数据。但这并没有给出相同的结果。
我也把0x83dcefb7位反了就是0xedf73bc1。但是我在正常/正向 CRC 表中看不到这个条目。
不只有一个“具有多项式 0x04C11DB7 的正常/正向 CRC-32 代码”。我在 Greg Cook 的产品目录中看到了四个,您还可以定义更多。所以我不知道你从什么开始。
也有不止一个这样的反射 CRC,但我可以从你的字符串
"1"
的 CRC 中看出你想要复制的是 CRC-32/ISO-HDLC。
如果您碰巧从正向 CRC-32/BZIP2 开始,它与 CRC-32/ISO-HDLC 具有相同的初始值和最终值,那么您需要做的是反映输入字节,例如
"1"
变为 "\x8c"
,并反映生成的 CRC.