加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在Ruby中使用HMAC SHA256

发布时间:2020-12-17 04:27:22 所属栏目:百科 来源:网络整理
导读:我正在尝试应用HMAC-SHA256来生成Rest API的密钥. 我正在做这样的事情: def generateTransactionHash(stringToHash) key = '123' data = 'stringToHash' digest = OpenSSL::Digest.new('sha256') hmac = OpenSSL::HMAC.digest(digest,key,data) puts hmacen
我正在尝试应用HMAC-SHA256来生成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’作为参数或’HUSYED815X’,我会得到相同的)

?w/{o???p?T????:??a?h??E|q

由于这个原因,API无法正常工作…有人可以帮助我吗?

解决方法

根据文档 OpenSSL::HMAC.digest

Returns the authentication code an instance represents as a binary string.

如果您在使用时遇到问题,可能需要OpenSSL :: HMAC.hexdigest提供的十六进制编码格式

key = 'key'
data = 'The quick brown fox jumps over the lazy dog'
digest = OpenSSL::Digest.new('sha1')

OpenSSL::HMAC.digest(digest,data)
#=> "xDE|x9Bx85xB8xB7x8AxA6xBCx8Az6xF7nx90px1Cx9DxB4xD9"

OpenSSL::HMAC.hexdigest(digest,data)
#=> "de7c9b85b8b78aa6bc8a7a36f70a90701c9db4d9"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读