Python CRC32连续计算



了解使用内置函数进行CRC32计算的最简单方法是zlib。例如:

import zlib
zlib.crc32('hello-world')

然而,如果我有一个场景,我想从文件中读取一个32位字(0x89abcdef(,而该文件包含数百万个32位的字,该怎么办?

如果我一行一行地读取它们,我如何保留上一个计算结果,并使用它继续下一行CRC32计算,直到我得到最终计算结果?

此外,我不确定另一种方法是简单地将这几百万行合并为一个超长字,然后将其输入zlib crc32函数?

实现这一点的最佳方式是哪一种?

Python的zlib.ccr32((有一个可选的第二个参数,它是正在运行的CRC-32。您可以计算一系列块的CRC,如下所示:

crc = zlib.crc32(chunk1, 0)
crc = zlib.crc32(chunk2, crc)
...
crc = zlib.crc32(chunkn, crc)

现在CCD_ 1是chunk1chunkn的级联的CRC-32。

最新更新