获取Ruby的OpenSSL :: HMAC.hexdigest()以输出与PHP的hash_hmac()相同的内容

Dav*_*der 2 php ruby

我正在尝试使用Web服务提供商的API.他们在Ruby中没有一个例子,但他们确实有一个用于PHP的例子,而我正试图在两者之间进行解释.API示例在PHP的hash_hmac()调用中始终使用"true",这会生成二进制输出.差异似乎是Ruby的OpenSSL :: HMAC.hexdigest()函数总是返回文本.(如果我将PHP调用更改为"false",则返回相同的值.)有没有人知道一种方法来"编码"从OpenSSL :: HMAC.hexdigest()返回的文本,以获得与hash_hmac返回的相同的内容('sha256',$ text,$ key,true)?

aaz*_*aaz 5

使用OpenSSL::HMAC.digest得到的二进制输出.

  • @Charles - 我也是,但我搜索了`digest`,找到它,然后盯着它看了几分钟,想知道为什么它没有工作才意识到OP正在使用`hexdigest` :) (2认同)