Php crc32和crc32b之间有什么区别?

Php crc32和crc32b之间有什么区别?,php,Php,显然,PHP函数可以通过算法crc32和crc32b调用?它们之间的区别是什么?根据apm在php.net上的回答:“我已经验证了“crc32”的输出是ITU I.363.5算法(又称AAL5 CRC——BZIP2流行,但也用于ATM传输——该算法与Cksum中POSIX 1003.2-1992中的算法相同,但将大小填充到CRC的末尾以进行额外测量)。——crc32b是ITU V.42的32位帧检查序列(用于以太网并由PKZip流行)。此CRC的输出以Intel little endian格式普

显然,PHP函数可以通过算法
crc32
crc32b
调用?它们之间的区别是什么?

根据apm在php.net上的回答:“我已经验证了“crc32”的输出是ITU I.363.5算法(又称AAL5 CRC——BZIP2流行,但也用于ATM传输——该算法与Cksum中POSIX 1003.2-1992中的算法相同,但将大小填充到CRC的末尾以进行额外测量)。——crc32b是ITU V.42的32位帧检查序列(用于以太网并由PKZip流行)。此CRC的输出以Intel little endian格式普及,并将在同一文件上生成cbf43926。“


完整注释:

两种不同的算法。CRC32b是定义的一致性算法的实现,而CRC32是定义的帧检查序列。它们是不同的东西,尽管差异通常不大

检查此问题的一种方法:

<?php
echo hash("crc32", __FILE__)."<br/>";
echo hash("crc32b", __FILE__); ?>

由于它们的相似性,起始十六进制值将相对相似

mhash手册页上解释了crc32和crc32b之间的区别。crc32用于以太网,而crc32b用于zip、png……它们在使用的表格上有所不同


这里有几个用户对此进行了解释:谷歌给了我这个——shld帮助有理由选择一个而不是另一个吗?@user2045006:no。它们只是在实现细节和历史用途上有所不同。一个用于流,另一个用于帧。在大多数情况下,这可以假设在性能上是等效的曼斯。