Php crc32()与hash()函数的差异

Php crc32()与hash()函数的差异,php,hash,comparison,collision,equality,Php,Hash,Comparison,Collision,Equality,我想我不明白这两个函数之间的区别 我试图通过运行以下代码(PHP5.6)找到它们之间的任何关系 但是这对我没有帮助,hash()函数是否有一些内置的盐分机制 我不确定我是否能说得更多…与crc32()函数相对应的hash()算法实际上是“crc32b”,而不是“crc32”。阅读PHP函数手册上警告的结尾 $crc_codding = crc32("codding"); $crc_gnu = crc32("gnu"); $hash_codding = hash("crc32", "coddin

我想我不明白这两个函数之间的区别 我试图通过运行以下代码(PHP5.6)找到它们之间的任何关系

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

我不确定我是否能说得更多…

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

$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)