Apparently MySQL\'s CRC32() function returns an unsigned BIGINT, while PHP returns hexadecimal value.
In PHP:
hash(\'crc32\',\'hello world\') == 7813f744>
If you have 64-bit platform you can safely use crc32 function in PHP and CRC32 in MySQL. Quick test:
CRC32
php > echo crc32('foobar') . "\n"; 2666930069
MySQL:
>select crc32('foobar'); +-----------------+ | crc32('foobar') | +-----------------+ | 2666930069 | +-----------------+ 1 row in set (0.00 sec)