答案 0 :(得分:377)
require 'digest/sha1'
Digest::SHA1.hexdigest 'foo'
答案 1 :(得分:8)
对于Base64编码的哈希,为了验证Oauth签名,我使用了
require 'base64'
require 'hmac-sha1'
Base64.encode64((HMAC::SHA1.new('key') << 'base').digest).strip
答案 2 :(得分:6)
我创建了一个帮助器gem,这是一个围绕某些sha1代码
的简单包装器require 'rickshaw'
> Rickshaw::SHA1.hash('LICENSE.txt')
=> "4659d94e7082a65ca39e7b6725094f08a413250a"
> "hello world".to_sha1
=> "2aae6c35c94fcfb415dbe95f408b9ce91ee846ed"
答案 3 :(得分:-25)
其中'serialize'是在别处定义的一些用户函数。
def generateKey(data)
return Digest::SHA1.hexdigest ("#{serialize(data)}")
end