【发布时间】:2020-03-25 11:24:54
【问题描述】:
我正在尝试从 JavaScript 示例创建一些 ruby 代码。
const hmac = crypto.HmacSHA1(signature, secret); // 58132bfd8761cac6e6888124753adfda13fb49f0
CryptoJS.enc.Base64.stringify(hmac); // WBMr/YdhysbmiIEkdTrf2hP7SfA=
hmac = OpenSSL::HMAC.hexdigest('sha1', secret, signature) # 58132bfd8761cac6e6888124753adfda13fb49f0
Base64.encode64(hmac) # NTgxMzJiZmQ4NzYxY2FjNmU2ODg4MTI0NzUzYWRmZGExM2ZiNDlmMA==
crypto-js stringify[1] 输出不同于 ruby 版本[2]。
[1]https://github.com/brix/crypto-js/blob/develop/src/enc-base64.js#L25
[2]https://ruby-doc.org/stdlib-2.7.0/libdoc/base64/rdoc/Base64.html#method-i-encode64
【问题讨论】:
标签: ruby base64 encode hmac cryptojs