crc32() 与 hash() 函数差异

crc32() vs hash() function differences

我觉得我不明白这两个函数的区别 我试图通过运行以下代码 (PHP 5.6)

来找到它们之间的任何关系
$crc_codding = crc32("codding");
$crc_gnu = crc32("gnu");

$hash_codding = hash("crc32", "codding");
$hash_gnu = hash("crc32", "gnu"); // hash collision with $crc_codding example

var_dump(hash_equals($hash_codding, $hash_gnu));  // bool(false)

var_dump($crc_codding==$hash_codding);            // bool(false)
var_dump($crc_codding==$crc_gnu);                 // bool(true)
var_dump($crc_codding===$crc_gnu);                // bool(true)

但这对我没有帮助,hash() 函数是否有一些内置的加盐机制?

我不确定我是否可以说更多...

对应crc32()函数的hash()算法实际上是'crc32b'而不是'crc32'。阅读 PHP 函数的 crc32 手册中的警告结尾。