O CRC32 é aditivo?
Em vários lugares, li que o crc32 é aditivo e, portanto: CRC (A xor B) = CRC (A) xor CRC (B
A declaração acima foi refutada pelo seguinte código que escrevi:
import zlib
def crc32(data):
return zlib.crc32(data) & 0xffffffff
print crc32(chr(ord("A") ^ ord("B")))
print crc32("A") ^ crc32("B")
Saída do programa:
1259060791
2567524794
Alguém poderia fornecer um código adequado para provar essa teoria ou me indicar onde eu falhe