我正在尝试应用HMAC-SHA 256为Rest API生成密钥。
我在做这样的事情:
def generateTransactionHash(stringToHash)
key = '123'
data = 'stringToHash'
digest = OpenSSL::Digest.new('sha256')
hmac = OpenSSL::HMAC.digest(digest, key, data)
puts hmac
end
其输出始终为:(如果我把'12345'作为参数或'HUSYED 815 X',我得到的是相同的)
ۯw/{o���p�T����:��a�h��E|q
API不工作,因为这个...有人能帮我吗?
4条答案
按热度按时间kcugc4gi1#
根据文件
OpenSSL::HMAC.digest
返回示例表示为二进制字符串的身份验证代码。
如果在使用时遇到问题,可能需要
OpenSSL::HMAC.hexdigest
提供的十六进制编码形式示例
7gcisfzg2#
试试这个:
qc6wkl3g3#
lvmkulzt4#
在我的例子(Ticketmatic)中,我必须像上面那样创建HMAC,并向包含HMAC的请求添加Authorization头。
你可以找到完整的要点here
还有一个解释更多here的博客