为什么使用未压缩和压缩数据的CRC?

时间:2016-07-06 18:48:39

标签: gzip crc deflate

Wikipedia article for Gzip表示“有一个8字节的页脚,包含CRC-32校验和以及原始未压缩数据的长度”。为什么它们会附加未压缩数据的CRC而不是压缩数据的CRC?

在验证CRC之前,我只能想到必须处理整个数据流,通过Deflate算法运行它等缺点。

1 个答案:

答案 0 :(得分:2)

我认为gzip在压缩数据方面有一定的自由度,因此计算压缩数据的crc会产生不同的校验和。计算未压缩数据的crc意味着您使用不同的算法压缩,解压缩和压缩相同的crc。

最后,您关心的是解压缩的数据应该是什么。您可能在压缩或解压缩算法中存在错误;压缩数据的crc无法找到。