我有一个小代码片段,我正试图在 Ruby 中工作。
digest = HMAC.digest(Digest.new(SHA1), Base64.decode64(key), HashString) return Base64.encode64(digest.to_s()).chomp()
我尝试如下:
hashstring = "POST application/octet-stream
Thu, 05 Jun 2008 16:38:19 GMT /rest/objects date:Thu, 05 Jun 2008 16:38:19 GMT groupacl:other=NONE listable-meta:part4/part7/part8=quick meta:part1=buy
id: 6039ac182f194e15b9261d73ce044939/user1 useracl:jane=FULL_CONTROL,juan=WRITE"
key = "AKLuryj6zs8ste4Y3jTGQp71xq0="
def hash(hs, keyh)
digest = HMAC.digest(Digest.new(SHA1), Base64.decode64(keyh), hs)
return Base64.encode64(digest.to_s()).chomp()
end
puts hash hashstring,key
这给了我错误 file.rb:1:in `require': no such file to load -- hmac-md5 (LoadError) from file.rb:1
我不熟悉 ruby 或 include/require 模块的工作方式。(或者如果它们与语言捆绑在一起或需要单独下载。我缺少什么文件/代码来实现这个功能?