SHA Хэш-функции
require 'digest/sha1' Digest::SHA1.hexdigest 'foo'
Для хэша в кодировке Base64, для проверки подписи Oauth, я использовал
require 'base64' require 'hmac-sha1' Base64.encode64((HMAC::SHA1.new('key') << 'base').digest).strip
Я создал помощника gem , который представляет собой простую обертку вокруг некоторого кода sha1
require 'rickshaw' > Rickshaw::SHA1.hash('LICENSE.txt') => "4659d94e7082a65ca39e7b6725094f08a413250a" > "hello world".to_sha1 => "2aae6c35c94fcfb415dbe95f408b9ce91ee846ed"
Где 'serialize' - это некоторая пользовательская функция, определенная в другом месте.
def generateKey(data) return Digest::SHA1.hexdigest ("#{serialize(data)}") end