Я хочу создать подпись 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
Я получаю ответ, где я ошибся.
В 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