Datei hochladen
  1. base64hub
  2. Web- & Token-Tools
  3. Basic-Auth-Decoder

Basic-Auth-Decoder

Fügen Sie einen Header Authorization: Basic …, nur das Token oder eine URL mit user:pass@ ein. Das Tool trennt Benutzername und Passwort heraus und zeigt, in welchem Zeichensatz die Bytes vorlagen.

Kostenlos ohne Anmeldung, ohne Limits Lokal kein Upload Automatisch Erkennung von UTF-8 oder Latin-1 Aktualisiert 27.10.2026

Wird in Ihrem Browser verarbeitet. Diese Seite kann Ihre Daten nirgendwohin senden – woher wir das wissen

So dekodieren Sie einen Basic-Auth-Header

  1. Fügen Sie den Wert in Authorization-Header, Basic-Token oder URL mit Zugangsdaten ein. All das funktioniert:
    • Authorization: Basic YWRtaW46czNjcjN0OnBhc3M=
    • Proxy-Authorization: Basic …
    • Basic YWRtaW46czNjcjN0OnBhc3M= oder nur das Token
    • https://user:password@host/path
  2. Lassen Sie den Zeichensatz auf Automatisch, oder erzwingen Sie UTF-8 oder ISO-8859-1, wenn das Ergebnis falsch aussieht.
  3. Lesen Sie Benutzername und Passwort, kopieren Sie eines davon, und prüfen Sie Dekodierte Bytes (Hex), wenn ein Zeichen verdächtig aussieht.

Dekodiert wird nur das Schema Basic. Digest- und NTLM-Header haben ein anderes Format und werden als anderes Schema gemeldet.

Was der Decoder zeigt

EingabeBenutzernamePasswortHinweis
Basic YWRtaW46czNjcjN0OnBhc3M=admins3cr3t:passGetrennt wird nur am ersten Doppelpunkt; das Passwort behält seinen.
dGVzdDoxMjOjtest123£Kein gültiges UTF-8, daher fällt Automatisch auf Latin-1 zurück.
dGVzdDoxMjPCow==test123£Derselbe Text, UTF-8-Bytes.
https://ci-bot:p%40ss@ci.example.com/ci-botp@ssAus der URL übernommen und prozentdekodiert.
Bearer eyJhbGciOi…Fehler: ein Bearer-Token, mit Link zum JWT-Decoder.

Die automatische Erkennung arbeitet der Reihe nach. Reines ASCII wird in jedem Zeichensatz gleich dekodiert; Bytes, die gültiges UTF-8 bilden, werden als UTF-8 gelesen; alles andere als ISO-8859-1, der alte Standard für HTTP-Header. Latin-1 bedeutet hier echtes ISO-8859-1. Windows-1252 weicht davon im Bereich 0x80–0x9F ab, wo Zeichen wie € liegen, ein Windows-1252-Passwort kann also als Steuerzeichen erscheinen.

Der Decoder ist bei schlampigen Tokens nachsichtig, etwa bei fehlendem =-Padding oder URL-sicheren - und _, und weist darauf hin, weil strenge Server sie ablehnen würden. Ergibt das Dekodieren Text ganz ohne Doppelpunkt, war der Wert kein Paar user:password, und das Tool meldet das.

Wo Basic-Zugangsdaten auftauchen

  • Entwicklertools im Browser. Der Netzwerk-Tab zeigt die Request-Header jedes Aufrufs, einschließlich Authorization.
  • curl. curl -v gibt die Anfrage aus, -u user:pass erscheint also als > Authorization: Basic ….
  • HAR-Dateien und Proxy-Mitschnitte, die die vollständigen Header jeder Anfrage speichern.
  • Server- und Proxy-Konfigurationen, in denen ein fest eingetragener Header einem Backend Zugang verschafft, etwa proxy_set_header Authorization "Basic …" in nginx.
  • Zugangsdaten für Docker-Registrys. Das Feld auth in ~/.docker/config.json ist Base64 von user:password; der dockerconfigjson-Decoder öffnet die ganze Datei.
  • Anwendungslogs, wenn ein Framework eingehende Header ungeschwärzt protokolliert.

Jeder dieser Fälle ist ein Klartextpasswort mit einer Schicht Kodierung, behandeln Sie es also wie das Passwort selbst. Base64 ist keine Verschlüsselung erklärt, warum die Kodierung nichts schützt.

Den Header auf dem Server dekodieren

Frameworks erledigen das normalerweise für Sie, aber ein kleiner Parser ist in Skripten und Tests nützlich:

import base64

def parse_basic(header_value):
    scheme, _, token = header_value.strip().partition(" ")
    if scheme.lower() != "basic":
        raise ValueError("not a Basic credential")
    user, colon, password = base64.b64decode(token).decode("utf-8").partition(":")
    if not colon:
        raise ValueError("no colon in the decoded value")
    return user, password

print(parse_basic("Basic YWRtaW46czNjcjN0OnBhc3M="))

Die Ausgabe ist ('admin', 's3cr3t:pass'). Der Name des Schemas unterscheidet nicht zwischen Groß- und Kleinschreibung, vergleichen Sie ihn also in Kleinbuchstaben, und verwenden Sie immer partition oder split(":", 1), damit ein Doppelpunkt im Passwort erhalten bleibt. Prüfen Sie das Passwort mit einem Vergleich in konstanter Zeit, etwa hmac.compare_digest auf den kodierten Bytes, statt mit ==. Für die andere Richtung nehmen Sie den Basic-Auth-Header-Generator; weitere Base64-Rezepte stehen auf der Python-Seite.

Häufige Fragen

Wie dekodiere ich ein Basic-Auth-Token von Hand?

Entfernen Sie das Wort Basic und das Leerzeichen, dekodieren Sie den Rest aus Base64 und trennen Sie am ersten Doppelpunkt. Unter Linux oder macOS gibt echo 'YWRtaW46czNjcjN0OnBhc3M=' | base64 -d den Text admin:s3cr3t:pass aus.

Was bedeutet „Das ist ein Bearer-Token“?

Der Header verwendet das Schema Bearer, er trägt also ein Token statt Benutzername und Passwort. Bearer-Tokens sind oft JWTs; öffnen Sie sie im JWT-Decoder.

Warum enthält das dekodierte Passwort ein seltsames Zeichen?

Die Bytes wurden vermutlich in einem anderen Zeichensatz geschrieben als dem, mit dem sie gelesen werden. Schalten Sie den Zeichensatz zwischen Automatisch, UTF-8 und ISO-8859-1 um und prüfen Sie die Hex-Bytes: C2 A3 ist £ in UTF-8, ein einzelnes A3 ist £ in Latin-1.

Ich habe einen Basic-Auth-Header in einem Log gefunden. Was nun?

Betrachten Sie das Passwort als geleakt und ändern Sie es. Dann stopfen Sie das Leck: Konfigurieren Sie Proxy, Webserver oder Logging-Bibliothek so, dass der Header Authorization geschwärzt wird.