等效的内置函数不会输出相同的值

时间:2016-09-01 03:18:33

标签: php

众所周知,PHP提供了许多内置函数,它们做同样的事情......这可能更多,但很奇怪,

echo "\nhash = ".hash('crc32', 'My Test');  
     // as guide say "outputs lowercase hexits", hash = c6fd93c1
echo "\nhash from raw = ".bin2hex( hash('crc32','My Test',true) ); 
     // confirm that "hexits" are hexadecimals,  = c6fd93c1
echo "\ncrc32 = ".base_convert( crc32('My Test') , 10, 16);
     // crc32 = c55b6e4  !! not the same

有多个“标准CRC32”?为什么不显示相同的值?

1 个答案:

答案 0 :(得分:3)

crc32函数计算hashcrc32b相同的哈希值。

$ php -r 'echo hash("crc32b", "My Test");' ;echo
0c55b6e4