CRC32和CRC32C有什么不同?我认识CRC32很久了,但今天才听说CRC32C。它们基本上是相同的方法吗(即,对于给定的数据,两个结果都是相同的哈希)?
发布于 2014-10-28 23:52:38
zip和许多其他地方的CRC32使用多项式0x04C11DB7;它的反向形式0xEDB88320可能更为人所知,通常出现在小端实现中。
CRC32C使用不同的多项式(0x1EDC6F41,反转0x82F63B78),但其他计算是相同的。结果自然是不同的。这也被称为Castagnoli,最明显的发现是在新的英特尔CPU中,它可以在3个周期内计算出完整的32位CRC32步骤。这就是为什么CRC32C变得越来越流行的原因,因为它允许高级实现有效地处理每个周期一个32位字,尽管存在三个周期的延迟(通过并行处理3个数据流并使用线性代数合并结果)。
https://stackoverflow.com/questions/26429360
复制相似问题