在几个地方我读过crc32是加法的,因此:CRC(A xor B)= CRC(A)xor CRC(B).
我写的以下代码证实了上述陈述:
import zlib
def crc32(data):
return zlib.crc32(data) & 0xffffffff
print crc32(chr(ord("A") ^ ord("B")))
print crc32("A") ^ crc32("B")
Run Code Online (Sandbox Code Playgroud)
节目输出:
1259060791
2567524794
Run Code Online (Sandbox Code Playgroud)
有人能提供一个证明这个理论的正确代码,还是指出我失败的地方?