¿Cómo creo un hash SHA1 en ruby?
Creé una gem ayudante que es una envoltura simple alrededor de algún código sha1
require ''rickshaw''
> Rickshaw::SHA1.hash(''LICENSE.txt'')
=> "4659d94e7082a65ca39e7b6725094f08a413250a"
> "hello world".to_sha1
=> "2aae6c35c94fcfb415dbe95f408b9ce91ee846ed"
Donde ''serializar'' es alguna función del usuario definida en otra parte.
def generateKey(data)
return Digest::SHA1.hexdigest ("#{serialize(data)}")
end
Para un hash codificado en Base64, para validar una firma de Oauth, utilicé
require ''base64''
require ''hmac-sha1''
Base64.encode64((HMAC::SHA1.new(''key'') << ''base'').digest).strip
require ''digest/sha1''
Digest::SHA1.hexdigest ''foo''