显然 MySQL 的 CRC32() 函数返回一个无符号 BIGINT,而 PHP 返回十六进制值。
在 PHP 中:
hash('crc32','hello world') == 7813f744
在 MySQL 中:
SELECT CRC32('hello world') == 222957957
PHP CRC32 值存储在 CHAR(8) 列中。
我不知道如何将 PHP 生成的哈希转换为 MySQL仅使用 SQL生成的相同值。显而易见的似乎不起作用:
SELECT HEX(CRC32('hello world')) == D4A1185
SELECT CONV('7813f744',16,10) == 2014574404
有任何想法吗?