CRC合并未知CRC

问题描述

一个zlib CRC组合相关问题:P 我希望能够组合CRC(X)+ CRC(Y)= CRC(Z),问题是我不知道CRC(Y)应该是什么。我可以说可以用某种方式使用CRC(X)和CRC(Z)来获得应该是的CRC(Y)吗? 此时总大小是已知的(例如CRC(X)为40字节,CRC(Z)应该为100字节,因此CRC(Y)为60字节长)

解决方法

是的。 zlib的pull rebase函数具有one line

crc32_combine64()

如果我们将总CRC称为return multmodp(x2nmodp(len2,3),crc1) ^ crc2; ,则可以简单地得到crc3

crc2