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

Basic-Auth-Header-Generator

Geben Sie Benutzername und Passwort ein, um Authorization: Basic … und sofort lauffähigen Code für curl, fetch, Node.js, Python und PHP zu erhalten. Das Tool warnt vor Zeichen, die Basic Auth kaputt machen.

Kostenlos ohne Anmeldung, ohne Limits Lokal kein Upload Snippets curl, fetch, Node.js, Python, PHP Aktualisiert 27.10.2026
HTTP-Header

Fertiger Code

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

So erzeugen Sie einen Basic-Auth-Header

  1. Geben Sie Benutzername und Passwort ein.
  2. Lassen Sie den Zeichensatz auf UTF-8, es sei denn, der Server ist ein alter, der ISO-8859-1 (Latin-1) erwartet.
  3. Kopieren Sie das Ergebnis mit Header kopieren für die vollständige Zeile Authorization: Basic … oder mit Nur Token kopieren für den Base64-Teil.
  4. Tragen Sie unter Fertiger Code bei URL Ihren Endpunkt ein und kopieren Sie das Snippet für Ihren Client. Tauschen schickt den Header zur Kontrolle an den Decoder.

Was der Header enthält

Basic-Authentifizierung ist in RFC 7617 definiert. Der Client verbindet die beiden Werte mit einem Doppelpunkt, kodiert die Bytes in Base64 und sendet sie in einem Header:

BenutzernamePasswortHeader-Wert
Aladdinopen sesameBasic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
deployhunter2Basic ZGVwbG95Omh1bnRlcjI=
josépässwördBasic am9zw6k6cMOkc3N3w7ZyZA== (UTF-8)
josépässwördBasic am9z6Tpw5HNzd/ZyZA== (Latin-1)

Die letzten beiden Zeilen zeigen, warum der Zeichensatz zählt: Derselbe Text ergibt andere Bytes, ein Server, der die andere Kodierung erwartet, sieht also ein falsches Passwort. Ein Server, der UTF-8 will, kann das in seiner Challenge sagen: WWW-Authenticate: Basic realm="api", charset="UTF-8".

Base64 ist hier nur ein Transportformat. Jeder, der den Header kopiert, kann ihn mit dem Basic-Auth-Decoder zurück in das Passwort verwandeln, deshalb gehört Basic Auth ausschließlich auf HTTPS. Base64 ist keine Verschlüsselung geht genauer darauf ein.

Zeichen, vor denen das Tool warnt

  • Ein Doppelpunkt im Benutzernamen. RFC 7617 verbietet ihn. Der Server trennt am ersten Doppelpunkt, ein Teil des Benutzernamens würde also im Passwort landen.
  • Steuerzeichen wie Tabs oder Zeilenumbrüche, die in Basic-Zugangsdaten nicht erlaubt sind.
  • Zeichen, die es in Latin-1 nicht gibt, wenn dieser Zeichensatz gewählt ist, zum Beispiel Emoji oder Kyrillisch. Sie werden durch ? ersetzt, was nie gewollt ist.
  • Nicht-ASCII unter UTF-8. Laut RFC korrekt, aber ältere Server lesen es womöglich anders, testen Sie also vorher.

Ein Doppelpunkt im Passwort ist erlaubt, denn nur der erste Doppelpunkt trennt die beiden Werte.

Basic Auth aus dem Code senden

Die Snippets im Tool werden mit Ihren Werten erzeugt und für jede Sprache sicher maskiert. Die einfachen Versionen sehen so aus:

curl -u 'deploy:hunter2' https://api.example.com/
import requests

r = requests.get("https://api.example.com/",
                 auth=("deploy".encode("utf-8"), "hunter2".encode("utf-8")))

Das Python-Beispiel übergibt absichtlich Bytes. Bekommt requests Werte vom Typ str, kodiert es sie als Latin-1, ein Passwort mit € oder ł würde also scheitern; mit Bytes sendet es genau das UTF-8, das Sie gewählt haben.

In Browser-JavaScript bauen Sie den Header selbst: fetch lehnt URLs mit user:pass@ ab, und btoa() wirft bei Zeichen außerhalb von Latin-1 einen Fehler, kodieren Sie die Zeichenkette also vor dem Base64 in UTF-8-Bytes. Das erzeugte fetch-Snippet umgeht beides, indem es das fertige Token einbettet. Die JavaScript-Anleitung zu Base64 erklärt den UTF-8-Schritt, und Node.js zeigt die Version mit Buffer.

Wenn die Anfrage trotzdem 401 liefert

Prüfen Sie zuerst den Header WWW-Authenticate der Antwort. Steht dort Bearer, erwartet die API ein Token und wird Basic-Zugangsdaten nie akzeptieren. Steht dort Basic, dekodieren Sie den Header, den Sie tatsächlich gesendet haben (mit curl -v erscheint er als > Authorization: Basic …), und vergleichen Sie ihn mit dem Erwarteten; überzählige Leerzeichen oder ein aus dem Passwortmanager mitkopierter Zeilenumbruch am Ende sind häufige Ursachen. Proxys verwenden einen eigenen Header, Proxy-Authorization, im selben Format.

Häufige Fragen

Wie wird der Basic-Auth-Header gebildet?

Verbinden Sie Benutzername und Passwort mit einem Doppelpunkt, kodieren Sie diese Zeichenkette als UTF-8-Bytes, kodieren Sie die Bytes in Base64 und setzen Sie Basic davor. Aladdin und open sesame ergeben Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==.

Ist Basic-Authentifizierung sicher?

Nur über HTTPS. Base64 verbirgt nichts, jeder, der die Anfrage lesen kann, dekodiert das Passwort in einer Sekunde. Über TLS wird der Header zusammen mit dem Rest der Anfrage verschlüsselt.

Darf das Passwort einen Doppelpunkt enthalten?

Ja. Der Server trennt am ersten Doppelpunkt, alles danach gehört also zum Passwort. Der Benutzername ist der Teil, der keinen Doppelpunkt enthalten darf.

Warum scheitert mein Passwort mit Nicht-ASCII-Zeichen auf manchen Servern?

RFC 7617 erlaubt Servern, UTF-8 zu verlangen, ältere dekodieren den Header aber als ISO-8859-1. test:123£ ist dGVzdDoxMjPCow== in UTF-8 und dGVzdDoxMjOj in Latin-1. Probieren Sie den anderen Zeichensatz oder bleiben Sie bei ASCII.