Base64-Kodierung in Kürze
Base64 verwandelt Bytes in Text, der jedes System passiert, das nur druckbares ASCII verarbeitet: E-Mail-Inhalte, JSON-Strings, HTML-Attribute, HTTP-Header. Aus je 3 Bytes werden 4 Zeichen, der kodierte Text ist also etwa 33 Prozent länger als die Eingabe. Ist die Länge der Eingabe kein Vielfaches von drei, füllen ein oder zwei = das Ergebnis auf ein Vielfaches von vier Zeichen auf.
Beispiele
Hellowird zuSGVsbG8=.user:passwird zudXNlcjpwYXNz– in dieser Form sendet die HTTP-Basic-Authentifizierung die Zugangsdaten alsAuthorization: Basic dXNlcjpwYXNz.<<???>>wird im Standardalphabet zuPDw/Pz8+Pg==und URL-sicher ohne Padding zuPDw_Pz8-Pg.
Standard oder URL-sicher?
Das Standardalphabet verwendet + und /, die in URLs und Dateinamen eine eigene Bedeutung haben. Base64url ersetzt sie durch - und _ und lässt das Padding meist weg. Nutze es für Werte in URLs, für Dateinamen und für JSON Web Tokens; das Standardalphabet für MIME, Data-URIs und die meisten APIs.
Kodieren ist kein Verschlüsseln
Base64 kann jeder dekodieren; es verbirgt nichts. Um einen kodierten Wert zu lesen, nutze den Base64-Decoder. Brauchst du Zufallsschlüssel statt deines eigenen Texts, erzeugt sie der Base64-Generator aus sicheren Zufallsbytes.