module Digest
Dieses Modul bietet ein Framework für Message-Digest-Bibliotheken.
Möglicherweise möchten Sie OpenSSL::Digest ansehen, da es mehr Algorithmen unterstützt.
Eine kryptografische Hash-Funktion ist ein Verfahren, das Daten entgegennimmt und eine feste Bit-Zeichenkette zurückgibt: den Hash-Wert, auch bekannt als Digest. Hash-Funktionen werden auch als Einwegfunktionen bezeichnet; es ist einfach, einen Digest aus einer Nachricht zu berechnen, aber es ist nicht machbar, eine Nachricht aus einem Digest zu generieren.
Beispiele
require 'digest' # Compute a complete digest Digest::SHA256.digest 'message' #=> "\xABS\n\x13\xE4Y..." sha256 = Digest::SHA256.new sha256.digest 'message' #=> "\xABS\n\x13\xE4Y..." # Other encoding formats Digest::SHA256.hexdigest 'message' #=> "ab530a13e459..." Digest::SHA256.base64digest 'message' #=> "q1MKE+RZFJgr..." # Compute digest by chunks md5 = Digest::MD5.new md5.update 'message1' md5 << 'message2' # << is an alias for update md5.hexdigest #=> "94af09c09bb9..." # Compute digest for a file sha256 = Digest::SHA256.file 'testfile' sha256.hexdigest
Zusätzlich können Digests im "Bubble Babble"-Format als eine Folge von Konsonanten und Vokalen kodiert werden, was besser erkennbar und vergleichbar ist als ein hexadezimaler Digest.
require 'digest/bubblebabble' Digest::SHA256.bubblebabble 'message' #=> "xopoh-fedac-fenyh-..."
Siehe die Bubble Babble-Spezifikation unter web.mit.edu/kenta/www/one/bubblebabble/spec/jrtrjwzi/draft-huima-01.txt.
Digest-Algorithmen
Verschiedene Digest-Algorithmen (oder Hash-Funktionen) sind verfügbar
MD5-
Siehe RFC 1321 Der
MD5Message-Digest-Algorithmus - RIPEMD-160
-
Als
Digest::RMD160. Siehe homes.esat.kuleuven.be/~bosselae/ripemd160.html. SHA1-
Siehe FIPS 180 Secure
HashStandard. SHA2-Familie-
Siehe FIPS 180 Secure
HashStandard, der die folgenden Algorithmen definiert
Die neuesten Versionen der FIPS-Publikationen finden Sie hier: csrc.nist.gov/publications/PubsFIPS.html.
Constants
- REQUIRE_MUTEX
-
Ein Mutex für Digest().
- VERSION
-
Die Versionszeichenfolge
Öffentliche Klassenmethoden
Source
static VALUE
rb_digest_s_bubblebabble(VALUE klass, VALUE str)
{
return bubblebabble_str_new(str);
}
Gibt eine BubbleBabble-kodierte Version eines gegebenen string zurück.
Source
static VALUE
rb_digest_s_hexencode(VALUE klass, VALUE str)
{
return hexencode_str_new(str);
}
Generiert eine hexadezimal kodierte Version eines gegebenen string.