So dekodieren Sie Base64 online (und was das Ergebnis bedeutet)
Sie haben eine Reihe scheinbar zufälliger Buchstaben und Zahlen, die möglicherweise mit einem oder zwei Gleichheitszeichen enden, und Sie müssen wissen, was darin steht. Dabei handelt es sich mit ziemlicher Sicherheit um Base64, und durch die Dekodierung werden der ursprüngliche Text oder die ursprünglichen Daten sichtbar. Hier erfahren Sie, wie Sie Base64 dekodieren, was das Ergebnis verrät und welche zwei Varianten dazu führen, dass Decoder fehlschlagen.
So entschlüsseln Sie es
Die Decodierung von Base64 erfolgt sofort: Fügen Sie die codierte Zeichenfolge in einen Decoder ein und dieser konvertiert sie wieder in den Originaltext. Base64 ist vollständig umkehrbar, es handelt sich um eine Kodierung, nicht um eine Verschlüsselung, sodass kein Schlüssel erforderlich ist und jeder jeden Base64-String in einer Sekunde dekodieren kann. Wenn das Ergebnis lesbarer Text ist, haben Sie Ihre Antwort. Wenn das Ergebnis wie binärer Müll aussieht, handelte es sich bei den Originaldaten nicht um Text, sondern möglicherweise um ein Bild, eine Datei oder verschlüsselte Daten, die dann Base64-kodiert wurden. In diesem Fall sind die dekodierten Bytes nicht dazu gedacht, als Text gelesen zu werden.
Warum Sie Base64 dekodieren müssten
Base64 taucht an vielen Stellen auf, die Sie möglicherweise überprüfen müssen. Der Header und die Nutzlast eines JWT-Authentifizierungstokens sind Base64-codiert, und durch deren Dekodierung werden die darin enthaltenen Ansprüche sichtbar. Die HTTP-Basic-Auth-Anmeldeinformationen sind Base64 im Autorisierungsheader. Daten-URLs betten Base64-codierte Bilder ein. Die E-Mail-Quelle zeigt Base64-codierte Anhänge. Konfigurationsdateien und API-Antworten enthalten manchmal Base64-Daten. Wenn Sie eines davon debuggen, können Sie durch die Dekodierung sehen, was tatsächlich vorhanden ist, und nicht nur eine Wand aus codierten Zeichen.
Das Unicode-Problem
Wenn Ihr dekodierter Text an Stellen, an denen Akzente oder nicht-englische Zeichen vorhanden sein sollten, verstümmelt ausgegeben wird, liegt das Problem an der Unicode-Verarbeitung. Base64 kodiert Bytes, und Text muss zuerst über eine Kodierung wie UTF-8 in Bytes umgewandelt werden. Ein Decoder, der einfaches ASCII annimmt, wird Buchstaben mit Akzent, Emojis und nicht-lateinische Schriften entstellen. Ein geeigneter Decoder interpretiert die Bytes als UTF-8, sodass „café“ und „こんにちは“ korrekt dekodiert werden. Wenn Sie Mojibake und verstümmelte Zeichen sehen, hat der Encoder oder Decoder den Unicode-Schritt falsch ausgeführt.
Die URL-sichere Variante
Wenn ein Decoder Ihre Zeichenfolge ablehnt oder eine falsche Ausgabe erzeugt, handelt es sich möglicherweise um Base64url, die URL-sichere Variante. Standardmäßig verwendet Base64 die Zeichen + und /, aber diese verursachen Probleme in URLs, daher ersetzt Base64url + durch - und / durch _ und lässt häufig die =-Auffüllung weg. JWTs verwenden diese Variante. Ein strikter Standarddecoder kann an - und _ oder an fehlender Auffüllung ersticken. Die Lösung besteht darin, - zurück in + und _ zurück in / zu konvertieren und die Auffüllung vor dem Dekodieren wiederherzustellen oder ein Tool zu verwenden, das beide Varianten automatisch verarbeitet.
Denken Sie daran: Dekodierung ist keine Entschlüsselung
Ein wichtiger Punkt. Durch die Decodierung von Base64 wird alles enthüllt, was codiert wurde, ohne dass ein Schlüssel erforderlich ist, was bedeutet, dass Base64 keinerlei Sicherheit bietet. Wenn Sie es entschlüsseln können, kann das auch jeder andere. Aus diesem Grund sollten Sie Passwörter oder Geheimnisse niemals als Base64 speichern und denken, sie seien verborgen; sie sind trivial lesbar. Durch die Dekodierung einer JWT-Nutzlast werden die Ansprüche angezeigt, das Token wird jedoch nicht überprüft. Dazu ist die Überprüfung der Signatur mit einem geheimen Schlüssel erforderlich, ein separater Schritt. Bei Base64 geht es um Darstellung, niemals um Schutz.