Попытка цифровой подписи через HMAC-SHA1 с PHP

Я пытаюсь настроить некоторые действия API Карт Google Premier, и для этого мне нужно подписать свои URL-адреса для аутентификации. Если вы перейдете к примерам Signature, есть немного кода на Python, C # и Java, чтобы показать вам, как сделать подпись через HMAC-SHA1. Есть также пример, чтобы я мог проверить мою реализацию PHP. Тем не менее, я просто не могу заставить его работать.

Вот мой код:

$key = "vNIXE0xscrmjlyV-12Nj_BvUPaw=";

$data = "/maps/api/geocode/json?address=New+York&sensor=false&client=clientID";

$my_sign = hash_hmac("sha1", $data, base64_decode($key));
$my_sign = base64_encode($my_sign);

$valid_sign = "KrU1TzVQM7Ur0i8i7K3huiw3MsA=";

Когда я запускаю это, я получаю подпись:

ZDRlNGMwZjIyMTA1MWM1Zjk0Nzc4M2NkYjlmNDQzNDBkYzk4NDI4Zg==

Который полностью не соответствует.

Вещи, о которых я думал:

Ключ находится в формате закодированного измененного URL, поэтому изменение- а также_ в+ а также/ также не работаетПример кода Python действительно работает, так что это правильный пример.Полностью переписываем нашу кодовую базу на python вместо PHP (я унаследовал это).

Ответы на вопрос(3)

Ваш ответ на вопрос