Я думаю, что я не понимаю разницу между этими двумя функциями
Я пытался найти какую-либо связь между ними, запустив следующий код (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 () есть какой-то встроенный механизм посола?
Я не уверен, могу ли я сказать что-то еще …
Алгоритм hash (), который соответствует функции crc32 (), на самом деле является «crc32b», а не «crc32». Прочитайте конец предупреждения в руководстве PHP по crc32 функция.
Других решений пока нет …