¿No es esto un duplicado de la respuesta de @ devstopfix?
Andrew Grimm
incluso si es así, es un código rubí bastante feo para sugerir, y ni siquiera menciona que necesita `require \ 'digest / sha1 \' '-1
Rixius
16
No olvide que stackoverflow tiene demasiados visitantes, ¿por qué no nos muestra la forma correcta de hacerlo? Menos críticos más ejemplos de código
Davidslv
1
¿Qué es esta función 'serializar'? Eso no es parte de Ruby. Peor aún, ¡la cadena que se pasa a hexdigest no es dinámica en absoluto! ¡Este método devolvería el mismo hash independientemente de los datos que le proporcione!
Blixxy
2
Necesito require 'digest/sha1'para usar el SHA1método.
Respuestas:
fuente
Digest::SHA1.base64digest 'foo'
Digest
es parte de la Biblioteca estándar de Ruby ( ruby-doc.org/stdlib-1.9.2/libdoc/digest/rdoc/index.html ). Incluye implementaciones para SHA1, SHA2, MD5 y otros algoritmos hash.Para un hash codificado Base64, para validar una firma Oauth, utilicé
fuente
Creé una gema auxiliar que es un simple envoltorio alrededor de algún código sha1
fuente
Donde 'serializar' es alguna función de usuario definida en otra parte.
fuente
require 'digest/sha1'
para usar elSHA1
método.