Ist das nicht ein Duplikat von @ devstopfix 'Antwort?
Andrew Grimm
Selbst wenn es so ist, ist es ein ziemlich hässlicher Ruby-Code, der vorgeschlagen werden muss, und er erwähnt nicht einmal, dass er "require \" Digest / sha1 \ "-1
Rixius
16
Vergessen Sie nicht, dass der Stackoverflow zu viele Besucher hat. Warum zeigen Sie uns nicht den richtigen Weg? Weniger Kritiker mehr Codebeispiele
Davidslv
1
Was ist diese Serialisierungsfunktion? Das ist kein Teil von Rubin. Schlimmer noch, die Zeichenfolge, die an hexdigest übergeben wird, ist überhaupt nicht dynamisch! Diese Methode würde den gleichen Hash zurückgeben, unabhängig davon, welche Daten Sie ihm geben!
Blixxy
2
Benötigen require 'digest/sha1', um SHA1Methode zu verwenden .
Antworten:
quelle
Digest::SHA1.base64digest 'foo'
Digest
ist Teil der Ruby Standard Library ( ruby-doc.org/stdlib-1.9.2/libdoc/digest/rdoc/index.html ). Es enthält Implementierungen für SHA1, SHA2, MD5 und andere Hash-Algorithmen.Für einen Base64-codierten Hash habe ich zur Validierung einer Oauth-Signatur verwendet
quelle
Ich habe einen Helfer Juwel , das eine einfache Wrapper um einige SHA1 - Code ist
quelle
Wobei 'serialisieren' eine Benutzerfunktion ist, die an anderer Stelle definiert ist.
quelle
require 'digest/sha1'
, umSHA1
Methode zu verwenden .