i want to ask about PHP crc32 hashing.
i'm tried using hash('md5','value')
and md5('value')
its return same output.
output : 2063c1608d6e0baf80249c42e2be5804
but when i'm try to use hash('crc32','value')
and crc32('value')
its return different output.
hash() output : e0a39b72
crc32() output : 494360628
anyone know why it can return a different output?
thanks :)
hash("crc32b", $str)
will return the same string asstr_pad(dechex(crc32($str)), 8, '0', STR_PAD_LEFT)
.
See manual and also about difference between crc32 and crc32b
There are minor differences between them, first of all crc32()
uses the hashing algorithm crc32b
and crc32()
returns an integer unlike hash()
that returns a hexadecimal value.
$str = 'testing';
$hex = hash('crc32b',$str); // e8f35a06
$dec = crc32($str); // 3908262406
echo dechex($dec) == $hex; // true, both value e8f35a06
echo hexdec($hex) == $dec; // true, both value 3908262406
Keep in mind that the values differ on 32 and 64 bit environments.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With