Isso não é uma duplicata da resposta do @ devstopfix?
Andrew Grimm
mesmo que seja, é algum código ruby muito feio para ser sugerindo, e nem sequer mencionar que ele precisa `exigem \ 'digerir / sha1 \'' -1
Rixius
16
Não se esqueça que o stackoverflow tem muitos visitantes. Por que você não nos mostra o caminho certo para fazer isso? Menos críticos mais exemplos de código
Davidslv
1
o que é essa função 'serializar'? isso não faz parte do ruby. Pior ainda, a string que está sendo passada para o hexdigest não é dinâmica! Esse método retornaria o mesmo hash, independentemente dos dados que você fornecer!
Blixxy
2
Necessidade require 'digest/sha1'para usar o SHA1método.
Respostas:
fonte
Digest::SHA1.base64digest 'foo'
Digest
faz parte da Ruby Standard Library ( ruby-doc.org/stdlib-1.9.2/libdoc/digest/rdoc/index.html ). Inclui implementações para SHA1, SHA2, MD5 e outros algoritmos de hash.Para um hash codificado em Base64, para validar uma assinatura Oauth, usei
fonte
Eu criei uma gema auxiliar que é um invólucro simples em torno de um código sha1
fonte
Onde 'serializar' é alguma função do usuário definida em outro lugar.
fonte
require 'digest/sha1'
para usar oSHA1
método.