2010-06-24 4 views
0

мне нужно проверить подпись для обратного вызова из ankoder.com, которые обеспечивают следующее описание:Проверка уведомление подписи (PHP)

Это является URL-спасся строки в кодировке base64 HMAC-SHA1 дайджеста вашего закрытый ключ и сообщение, не привязанное к URL-адресу.

$passkey = urlencode(base64_encode(hash_hmac('sha1', urldecode($str), $private_key, true))); 

Они обеспечивают следующий пример Руби

encoded_signature = CGI.escape Base64.encode64(HMAC::SHA1::digest(private_key, CGI.unescape(message))).strip 

Я бегу это на выборочных данных я вернулся из обратного вызова, но я не получаю ту же подпись. Как копировать Ruby-код в PHP?

Редактировать Проблема заключалась в том, что отправляется пробел.

ответ

2

Ваш код PHP соответствует коду Ruby. Проблема должна быть где-то в другом месте.

Проверьте правильность ключа и правильное разбор сообщения (urldecode, затем json_decode).

+0

Хотя я еще не нашел решение, я теперь полностью уверен, что ошибка лежит во входной строке, и в результате я принимаю этот ответ. – Gazler

Смежные вопросы