PHP中的CRC-32奇怪

时间:2014-08-29 10:16:05

标签: php hash crc crc32

为什么crc32($data)在PHP中产生与hash("crc32", $data)完全不同的哈希值有一些具体原因吗?

请考虑此代码段(也在http://ideone.com/eqbin4在线发布):

<?php
$data = "message";
echo(sprintf("%08x", crc32($data)) . "\n");
echo(hash("crc32", $data) . "\n");
?>

输出:

b6bd307f
c048b5b8

我在这里出错了,或者这只是一个PHP的好奇心,对相同类型的哈希使用不同的CRC-32计算方法?

1 个答案:

答案 0 :(得分:3)

看起来crc32($d)函数等同于hash("crc32b", $d)调用,而不是hash("crc32", $d)