Tag: sha256

如何为SHA256获取Ruby生成的HMAC,以便安全地匹配Java?

我有一个运行一些Java代码的tomcat服务器,允许用户使用API​​密钥进行身份validation。 该请求使用使用SHA256创建的HMAC。 我有一个Ruby客户端,我用它来发出请求,因为我刚接触加密,我很难让它生成匹配的HMAC。 我试过不把它设为URL安全,并且匹配。 所以我真的很想知道如何让Ruby客户端与URL安全版本匹配(因为我无法更改Java代码)。 它最后只有一个额外的=字符。 在此先感谢您的帮助。 对于Ruby我使用1.9.3而对于Java我使用6u31以及来自apache的commons-codec-1.6.jar库。 码 ruby: require “openssl” require “base64” json_str = “{‘community’:’LG7B734A’, ‘login_id’:’user1′, ‘time’:’1331928899′}” digest = OpenSSL::Digest::Digest.new(“sha256”) key = [ “4cc45e4258121c3fec84147673e1bd88e51b1c177aafcfa2da72bd4655c9f933” ] hmac = OpenSSL::HMAC.digest(digest, key.pack(“H*”), json_str) encoded_url_safe = Base64.urlsafe_encode64(hmac) encoded = Base64.encode64(hmac) puts(“Encoded (Url Safe): ” + encoded_url_safe) puts(“Encoded : ” + encoded) Java的: import org.apache.commons.codec.binary.Base64; import org.apache.commons.codec.binary.Hex; import […]