Répondre
require 'digest/sha1'
Digest::SHA1.hexdigest 'foo'
Où serialize 'est une fonction définie par l'utilisateur ailleurs.
def generateKey(data)
return Digest::SHA1.hexdigest ("#{serialize(data)}")
end
N'est-ce pas un doublon de la réponse de @ devstopfix? –
même si c'est le cas, c'est un code assez moche ruby à suggérer, et ne mentionne même pas qu'il faut 'require \ 'digest/sha1 \' '-1 – Rixius
N'oubliez pas que stackoverflow a trop de visiteurs, pourquoi vous ne nous montrez pas la bonne façon de le faire? Moins de critiques plus d'exemples de code – Davidslv
Pour un hachage Base64, à valider une signature OAuth, je
require 'base64'
require 'hmac-sha1'
Base64.encode64((HMAC::SHA1.new('key') << 'base').digest).strip
J'ai créé une aide gem qui est une simple enveloppe autour du code SHA1
require 'rickshaw'
> Rickshaw::SHA1.hash('LICENSE.txt')
=> "4659d94e7082a65ca39e7b6725094f08a413250a"
> "hello world".to_sha1
=> "2aae6c35c94fcfb415dbe95f408b9ce91ee846ed"
de SHA- 1 a été montré pour être non sécurisé. Envisagez d'utiliser des alternatives plus sûres, telles que SHA-256 ou SHA-3. https://shattered.io/ –