0
爲什麼hmac值不同? $ a等於$ b。我不確定是什麼樣的錯誤導致這一點,或者如果我的邏輯是正確的。 Hmac_hash應該將任何輸入轉換爲字符串爲字節或十六進制,並做它的工作,告訴我,如果我錯了。爲什麼hash_hmac爲這兩個大數製作不同的哈希值?
下面的示例代碼。
謝謝。
<?php
$a = 1234567890000*1234567890000;
$b = gmp_mul("1234567890000","1234567890000");
$b = gmp_strval($b);
echo $a."<br/>".$b."<br/>";
$c = 2525;
echo ($a==$b)."<br/>";
echo hash_hmac("SHA512",$a,$c);
echo "<br/>";
echo hash_hmac("SHA512",$b,$c);
?>
結果
1.5241578750191E+24
1524157875019052100000000
1
973967436d3562150d60769b70a9010db21f89b114b9897430663dd195115b7893b9a6bd0e141cee301d23e2229afd6d39546630cd38f6fe7842073749f9ce3d
8bd1e7c837efaf8d51ed2d40354a020ee3c9663aa6bd4425c02b21ed02343185070216d37e54478ee78332af8e6fdecd51445fcee8cb04d4e51e4cc31283f9a9
完美解釋,謝謝 –