Apparently MySQL\'s CRC32() function returns an unsigned BIGINT, while PHP returns hexadecimal value.
In PHP:
hash(\'crc32\',\'hello world\') == 7813f744>
It is possible to use the wrapper function that returns the same value as in mysql:
function mysql_compatible_crc32($s) { $r = crc32($s); if($r<0) { return 4294967296+$r; } return $r; }