How do I create a SHA1 hash in ruby?

91696 次浏览
require 'digest/sha1'
Digest::SHA1.hexdigest 'foo'

其中“ Series alize”是其他地方定义的某个用户函数。

 def generateKey(data)
return Digest::SHA1.hexdigest ("#{serialize(data)}")
end

对于 Base64编码的散列,为了验证 Oauth 签名,我使用

require 'base64'
require 'hmac-sha1'


Base64.encode64((HMAC::SHA1.new('key') << 'base').digest).strip

我创建了一个 helper 宝石,它是一些 sha1代码的简单包装器

require 'rickshaw'
> Rickshaw::SHA1.hash('LICENSE.txt')


=> "4659d94e7082a65ca39e7b6725094f08a413250a"


> "hello world".to_sha1


=> "2aae6c35c94fcfb415dbe95f408b9ce91ee846ed"