Anzeige

 Base64 Verschlüsselung endet mit "=" oder "=="


#1
Hallo Leute,
wenn ich ein String mit Base64 Verschlüssel endet dieser meistens mit "=" oder "==".
Wieso ist das so ?

Beispiele:
Test = VGVzdA==
Tier = VGllcg==
Hallo = SGFsbG8=
Dienstag = RGllbnN0YWc=


LG,
Movementroboter
 
#2
http://de.wikipedia.org/wiki/Base64

3 Bytes werden jeweils zu 4 Base64-Symbolen (und umgekehrt eben beim rückumwandeln).
Wenn die Datenlänge aber kein Vielfaches von drei ist...?

Wenn am Schluss von den Daten ein einzelnes Byte bleibt wird zuerst angenommen, Byte 2 und 3 von dem Block sind 0, das in Base64 umgewandelt, und dann die das dritte und vierte von den 4 Symbolen durch = ersetzt. = kommt sonst nirgends vor, und man kann das eine Byte auch ohne denOriginalinhalt aller 4 Symbole herstellen. Die zwei = sind nur ein Signal, dass der letzte Dreibyte/Viersymbolblock eigentlich nur für ein Byte da ist.

Wenn der Überschuss zwei Byte waren ist nur ein = statt zwei. Selber Grund.

PS: Base64 ist keine Verschlüsselung. Es gibt keinen Schlüssel, den man zu zum Lesen vom Klartext braucht.
 
Anzeige

Neue Beiträge

Anzeige