首页 > 解决方案 > 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 个字节长)

标签: zlibchecksumcrccrc32

解决方案


是的。zlib 的crc32_combine64()函数只有一行

return multmodp(x2nmodp(len2, 3), crc1) ^ crc2;

如果我们称总 CRC crc3,那么您可以crc2简单地得到:

crc2 = multmodp(x2nmodp(len2, 3), crc1) ^ crc3;

推荐阅读