如何计算两个CRC32的CRC32?

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

想象一下,我们有两个不同消息的CRC32值(Cycle Redundancy Check)。如何计算它们共同的CRC32?例如:

  • “ hello”的CRC32 = 3610a686
  • “世界”的CRC32 = 3a771143
  • “ helloworld”的CRC32 = f9eb20ad
checksum crc crc32
1个回答
0
投票

[CRC32]使用初始值0xFFFFFFFF,并通过对0xFFFFFFFF(或不使用)进行异或来对CRC进行补充。如果您有一个修改后的CRC32,将这些值作为参数,则对“ hello”的第一次调用将使用初始值= 0xFFFFFFFF,xorout = 0x00000000,例如CRC = CRC32X(0xFFFFFFFF,0x00000000,“ hello”,5),其中第三个参数是一个指向字符串的指针,第四个参数是该字符串中的字节数。第二个调用是CRC32X(CRC,0xFFFFFFFF,“ world”,5),其中CRC是第一个调用返回的值。

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