Entwickler-Werkzeug / 24
Apache / Nginx .htpasswd-Generator
Erzeuge Apache- und Nginx-.htpasswd-Zeilen für die HTTP-Basic-Authentifizierung und Passwort-Hashes direkt im Browser.
Apache / Nginx .htpasswd-Generator: TOEA schreibt die Zeile, die Apache und nginx für die HTTP-Basic-Authentifizierung erwarten. Standard ist das Apache-$apr1$-Format: Das Passwort wird mit acht zufälligen Zeichen gesalzen und über tausend Runden iteriert. Genau das erzeugt htpasswd -m und beide Server lesen es. Läuft zu 100% lokal in deinem Browser, ohne Datei-Uploads zum Server.
- Kategorie
- Entwicklerwerkzeuge
- Ausführungen
- In deinem Browser
- Kosten
- Kostenlos · ohne Anmeldung
- Verfügbarkeit
- Einsatzbereit
Die Zeile in einen Server einbinden
Speichere die Zeile in einer Datei außerhalb des Webstamms, eine Zeile user:hash pro Benutzer. Füge bei nginx auth_basic "Restricted"; und auth_basic_user_file /etc/nginx/.htpasswd; in den location- oder server-Block ein. Verwende bei Apache AuthType Basic, AuthName, AuthUserFile mit dem vollständigen Dateipfad und Require valid-user. Lade den Server anschließend neu. Ein Syntaxfehler führt dazu, dass jede Anfrage fehlschlägt, nicht nur Anmeldungen.
Dollarzeichen und einfaches HTTP
Der Hash enthält viele $-Zeichen, und Docker-Compose-Dateien, .env-Dateien sowie einige Proxy-Labels interpretieren $ als Beginn einer Variablen. Schreibe in Compose jedes $ als $$; andernfalls wird der Hash unbemerkt verkürzt und kein Passwort stimmt überein.
Die Basisauthentifizierung sendet Benutzername und Passwort mit jeder Anfrage, zwar codiert, aber nicht verschlüsselt. Verwende sie hinter HTTPS und behandle sie eher als Zugangssperre für Testumgebungen und Administrationspfade denn als Anmeldesystem für Kunden.
So benutzt du es
- Gib einen Benutzernamen und ein Passwort ein.
- Lass den Algorithmus auf Apache MD5, sofern du keinen Grund für etwas anderes hast.
- Kopiere die erzeugte Zeile in deine .htpasswd-Datei.
Datenschutz & Einschränkungen
Das Passwort wird in deinem Browser gehasht und nirgendwohin gesendet. Es wird nichts protokolliert, und das Salt stammt aus der eigenen kryptografischen Zufallsquelle deines Browsers, sodass zwei Personen für dasselbe Passwort nicht denselben Hash erhalten.
Ähnliche Tools
Häufige Fragen
Welchen Algorithmus sollte ich wählen?
Apache MD5 ($apr1$), die Standardeinstellung hier. Es ist gesalzen und iteriert, und sowohl Apache als auch nginx akzeptieren es. Die Option {SHA} ist ein ungesalzener SHA-1-Hash und bleibt nur für ältere Setups erhalten, die ihn benötigen – Apaches eigenes Tool htpasswd kennzeichnet diese Option als unsicher, weil identische Passwörter identische Hashes erzeugen und eine Nachschlagetabelle sie knacken kann.
Ist das so stark wie bcrypt?
Nein. bcrypt ist die stärkere Wahl und Apache unterstützt es, aber es kann hier nicht erzeugt werden – dafür bräuchte es eine Blowfish-Implementierung, die viel Code bedeuten und der man vertrauen müsste. Wenn du bcrypt willst, führe lokal htpasswd -B -n username aus und füge das Ergebnis ein.
Kann ich eine Zeile prüfen, bevor ich mich darauf verlasse?
Ja, und das lohnt sich. Speichere sie in eine Datei und führe htpasswd -vb yourfile username password aus – Apache sagt dir, ob sie authentifiziert. Diese Zeilen werden sowohl gegen htpasswd als auch gegen openssl passwd -apr1 verifiziert.
Kostenloses Tool · läuft in deinem browser · kein Konto nötig