2015-08-26 2 views
1

Я думаю, что я не понимаю разницы между этими двумя функциями я пытался найти связь между ними подножкой следующего кода (PHP 5.6)crc32() против хэша() различия функции

$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() funtion некоторый встроенный механизм соления?

Я не уверен, что я могу сказать что-то еще ...

ответ

2

Хэш() алго что соответствует функции crc32() на самом деле «crc32b» и не 'crc32. Прочтите конец предупреждения в руководстве PHP по функции crc32.

Смежные вопросы