Was ist die maximale Länge des Strings, der md5-Hash haben kann? Oder: Wenn es keine Begrenzung gibt und wenn ja, wie hoch ist die maximale Länge des md5-Ausgabewerts?
Was ist die maximale Länge des Strings, der md5-Hash haben kann? Oder: Wenn es keine Begrenzung gibt und wenn ja, wie hoch ist die maximale Länge des md5-Ausgabewerts?
Antworten:
MD5 verarbeitet eine Nachricht beliebiger Länge in eine Ausgabe fester Länge von 128 Bit, die typischerweise als Folge von 32 hexadezimalen Ziffern dargestellt wird.
128 bits
= 16 bytes
=32 hex digits
Länge anhängen
Eine 64-Bit-Darstellung von b (die Länge der Nachricht vor dem Hinzufügen der Füllbits) wird an das Ergebnis des vorherigen Schritts angehängt. In dem unwahrscheinlichen Fall, dass b größer als 2 ^ 64 ist, werden nur die niederwertigen 64 Bits von b verwendet.
Sehen Sie hier mehr .
MD5("how many characters exactly?");
Sie können eine beliebige Länge haben, aber natürlich kann es zu einem Speicherproblem auf dem Computer kommen, wenn die String-Eingabe zu lang ist. Die Ausgabe besteht immer aus 32 Zeichen.
block
zu einem Zeitpunkt verfügbaren Bytes des Eingangs.
Der Algorithmus wurde entwickelt, um eine beliebige Eingabelänge zu unterstützen. Dh Sie können Hashes von großen Dateien wie ISO einer DVD berechnen ...
Wenn es eine Einschränkung für die Eingabe gibt, kann diese aus der Umgebung stammen, in der die Hash-Funktion verwendet wird. Angenommen, Sie möchten eine Datei berechnen und die Umgebung hat ein MAX_FILE-Limit.
Die Ausgabezeichenfolge ist jedoch immer dieselbe: 32 Hexadezimalzeichen (128 Bit)!
Ein 128-Bit-MD5-Hash wird als Folge von 32 hexadezimalen Ziffern dargestellt.
Möglicherweise möchten Sie SHA-1 anstelle von MD5 verwenden , da MD5 als fehlerhaft gilt.
Weitere Informationen zu MD5-Schwachstellen finden Sie in diesem Wikipedia-Artikel .
Der mir bekannten Eingabe von md5 sind keine Grenzen gesetzt. Bei einigen Implementierungen muss die gesamte Eingabe in den Speicher geladen werden, bevor sie an die md5-Funktion übergeben wird (dh die Implementierung wirkt auf einen Speicherblock, nicht auf einen Stream). Dies ist jedoch keine Einschränkung des Algorithmus selbst. Die Ausgabe beträgt immer 128 Bit. Beachten Sie, dass md5 kein Verschlüsselungsalgorithmus ist, sondern ein kryptografischer Hash. Dies bedeutet, dass Sie damit die Integrität eines Datenblocks überprüfen können, das Hashing jedoch nicht rückgängig machen können. Beachten Sie auch, dass md5 als fehlerhaft gilt, sodass Sie es nicht für sicherheitsrelevante Zwecke verwenden sollten (es ist immer noch in Ordnung, die Integrität heruntergeladener Dateien und dergleichen zu überprüfen).