20

どうやら PHP 関数hash()は、アルゴリズムcrc32crc32b?で呼び出すことができます。それらの違いは何ですか?

4

3 に答える 3

8

2 つの異なるアルゴリズム。CRC32b はここで定義された一貫性アルゴリズムの実装であり、CRC32 はここで定義されたフレーム チェック シーケンスです。それらは異なるものですが、違いはしばしば大きなものではありません.

これを確認する 1 つの方法:

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

それらの類似性により、最初の 16 進値は比較的類似しています。

于 2013-04-07T09:55:55.167 に答える
5

php.net の apm による回答によると: Cksum の POSIX 1003.2-1992 では、追加の測定のために最後にサイズを CRC に詰め込みます) -- crc32b は、ITU V.42 の 32 ビット フレーム チェック シーケンスです (イーサネットで使用され、PKZip によって一般化されています)。 . この CRC からの出力は Intel リトル エンディアン形式で一般化されており、同じファイルに cbf43926 が生成されます。

コメント全文: http://www.php.net/manual/en/function.hash-file.php#104836

于 2013-04-07T09:55:44.210 に答える
1

crc32 と crc32b の違いは、mhash の man ページで説明されています。crc32 はイーサネットで使用されるもので、crc32b は zip、png で使用されるものです。使用されるテーブルが異なります。

php.net からの引用

于 2020-11-11T10:42:07.237 に答える