risposta
require 'digest/sha1'
Digest::SHA1.hexdigest 'foo'
Dove 'serializzare' è una funzione definita dall'utente altrove.
def generateKey(data)
return Digest::SHA1.hexdigest ("#{serialize(data)}")
end
Non è un duplicato della risposta di @ devstopfix? –
anche se lo è, è un codice ruby piuttosto brutto da suggerire e non dice nemmeno che necessita 'require \ 'digest/sha1 \' '-1 – Rixius
Non dimenticare che lo stackoverflow ha troppi visitatori, perché non ci mostri il modo giusto per farlo? Meno critiche più esempi di codice – Davidslv
Per un hash Base64 codificato, ad convalidato una firma Oauth, ho usato
require 'base64'
require 'hmac-sha1'
Base64.encode64((HMAC::SHA1.new('key') << 'base').digest).strip
ho creato un aiutante gem che è un semplice wrapper per qualche codice SHA1
require 'rickshaw'
> Rickshaw::SHA1.hash('LICENSE.txt')
=> "4659d94e7082a65ca39e7b6725094f08a413250a"
> "hello world".to_sha1
=> "2aae6c35c94fcfb415dbe95f408b9ce91ee846ed"
SHA 1 è stato dimostrato di essere insicuro. Prendi in considerazione l'utilizzo di alternative più sicure, come SHA-256 o SHA-3. https://shattered.io/ –