Генерировать сигнатуру API как hash_hmac в кодировке ruby

0

Я хочу создать подпись API в ruby, у меня есть код для записи на PHP, я хочу совместить с точным выходом.

PHP-код

$strToSign = "A"
$api_key = "B"
hash_hmac('sha256', $strToSign, $api_key, false) 
OutPut= 7c1264983a16877cd924d705b4e1305cc637f074ed41d081472142902bfac1c6

Я хочу получить тот же результат с ruby, какую библиотеку или кодировку я должен использовать для точного вывода.

Я использую OpenSSL :: HMAC.hexdigest() для сопоставления вывода, но он дает мне другую строку

Для справки, я использую следующий код для его преобразования, но не работал для меня, пожалуйста, помогите мне в получении вывода.

Код Ruby

   str_sign = "A"
   api_key = "B"
   OpenSSL::HMAC.hexdigest('sha256', str_sign, api_key)
   OutPut= 8189105e6b068e191c753c0e8acc2390f4fddef5bf992c524b5234b24a59d773
Теги:

1 ответ

1
Лучший ответ

Я получаю ответ, где я ошибся.

В ruby HMAC.hexdigest() принимает обратный параметр, чем hash_hmac(). Сначала потребовалось api_key, а затем str_sign.

EX.

   str_sign = "A"
   api_key = "B"
   OpenSSL::HMAC.hexdigest('sha256', api_key, str_sign)
   OutPut= 7c1264983a16877cd924d705b4e1305cc637f074ed41d081472142902bfac1c6

Ещё вопросы

Сообщество Overcoder
Наверх
Меню