Я хочу сгенерировать сигнатуру API в ruby, у меня есть код, написанный на PHP, я хочу соответствовать с точным выводом.
Код PHP
$strToSign = "A"$api_key = "B"hash_hmac('sha256', $strToSign, $api_key, false)
OutPut= 7c1264983a16877cd924d705b4e1305cc637f074ed41d081472142902bfac1c6
Я хочу такой же вывод с ruby, какую библиотеку или кодировку я должен использовать, чтобы соответствовать точному выводу.
Я использую OpenSSL :: HMAC.hexdigest (), чтобы соответствовать выводу, но это дает мне другую строку
Для справки, я использую следующий код для его преобразования, но у меня ничего не вышло. Пожалуйста, помогите мне получить выходные данные.
Ruby Code
str_sign = "A"api_key = "B"OpenSSL::HMAC.hexdigest('sha256', str_sign, api_key)
OutPut= 8189105e6b068e191c753c0e8acc2390f4fddef5bf992c524b5234b24a59d773
Я получаю ответ, где я ошибся.
В 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
Других решений пока нет …