php hash_hmac 中的奇怪行为

Strange behaviour in php hash_hmac

我正在 php 中创建一个简单的 api。

$signature_string = "MARCIGETapi/v1/test/636779232000000000FIXXISOFTRGllcyBpc3QgZWluIFRlc3Q="
$new_sig = hash_hmac("sha256",  $signature_string, $api_key, false);
echo $new_sig;

24f305d19cad2e848b3407f64bc21ada0ff1978a2487a23f26aa35f3a1c8204a

现在解释一下:

$new_sig = hash_hmac("sha256", "MARCIGETapi/v1/test/636779232000000000FIXXISOFTRGllcyBpc3QgZWluIFRlc3Q=" , $api_key, false);
echo $new_sig;

c1d2347e60a648838fd8a98a41174fc9a4b18371e18261931f3337951b8a6cdf

第二个是我能够在 c# 客户端上生成的预期。

我在我的一个项目中遇到了同样的问题。 试试看:

$new_sig = hash_hmac("sha256", trim($signatur_string," "), $api_key);