生成反向 CRC 输出 (0xEDB88320) 的正态多项式 (0x04C11DB7) 代码

问题描述 投票:0回答:1

例如,数据的反向 CRC32 ='1' = 0x83dcefb7

但我想使用多项式 0x04C11DB7 的正常/前向 CRC-32 代码。我还需要执行什么步骤才能获得与反向多项式相同的 CRC(即:0x83dcefb7)

我尝试用位反转输入和最终的 CRC 数据。但这并没有给出相同的结果。

我也把0x83dcefb7位反了就是0xedf73bc1。但是我在正常/正向 CRC 表中看不到这个条目。

reverse crc32
1个回答
0
投票

不只有一个“具有多项式 0x04C11DB7 的正常/正向 CRC-32 代码”。我在 Greg Cook 的产品目录中看到了四个,您还可以定义更多。所以我不知道你从什么开始。

也有不止一个这样的反射 CRC,但我可以从你的字符串

"1"
的 CRC 中看出你想要复制的是 CRC-32/ISO-HDLC。

如果您碰巧从正向 CRC-32/BZIP2 开始,它与 CRC-32/ISO-HDLC 具有相同的初始值和最终值,那么您需要做的是反映输入字节,例如

"1"
变为
"\x8c"
,并反映生成的 CRC.

© www.soinside.com 2019 - 2024. All rights reserved.