Zum Hauptinhalt springen
S-EDV news
← Alle Anleitungen
📘 Anleitung Sicherheit & Datenschutz 01.10.2026 · 11 min Lesezeit

Passwort-Generator: sichere Passwörter erzeugen und als htpasswd- oder SHA-512-Hash nutzen

Zufällige Passwörter nach eigenen Regeln erzeugen, die Stärke in Bit einschätzen und mit dem Passwort-Generator auf s-edv.com fertige Zeilen für htpasswd, Traefik, nginx und chpasswd erstellen und mit openssl prüfen.

WerbelinksMit * markierte Links sind Werbelinks: Bei einem Kauf erhalten wir eine Provision, der Preis bleibt gleich. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Mehr dazu

Titelbild: Passwort-Generator mit Längenregler, Passwortfeld und Hash-Ausgabe

Ob neues Admin-Konto, Zugang für einen Dienstleister oder Basic-Auth vor einem internen Dashboard: Im Admin-Alltag brauchen Sie regelmäßig ein frisches, zufälliges Passwort, und oft direkt den passenden Hash für eine Konfigurationsdatei. Der Passwort-Generator auf s-edv.com erledigt beides in einem Schritt. Er erzeugt Passwörter nach Ihren Regeln, zeigt die Stärke in Bit und liefert fertige Zeilen für .htpasswd, Traefik-Labels in Docker Compose, nginx, /etc/shadow und chpasswd. Diese Anleitung erklärt die Bedienung, die Grundlagen zu Entropie und Hash-Verfahren und zeigt, wie Sie jeden Hash im Terminal mit openssl gegenprüfen.

Voraussetzungen

Sie brauchen einen aktuellen Browser, eine Anmeldung ist nicht nötig. Für die Gegenprobe der Hashes genügt ein Linux-, macOS- oder WSL-Terminal mit OpenSSL ab Version 1.1.1, das die Optionen -apr1 und -6 von openssl passwd kennt. Wenn Sie die Ergebnisse einsetzen, brauchen Sie Zugriff auf das Zielsystem: Schreibrechte auf die .htpasswd-Datei, die compose.yaml Ihres Traefik-Stacks oder sudo-Rechte auf dem Linux-Server.

Für die Ablage der erzeugten Passwörter sollten Sie einen Passwortmanager bereithalten, im Team etwa Vaultwarden oder Passbolt. Ein Passwort, das nur in der Zwischenablage existiert, ist schnell verloren.

Schritt 1: Regeln festlegen und Passwort erzeugen

Öffnen Sie den Passwort-Generator. Im Bereich „Regeln“ wählen Sie zuerst, wie viele Passwörter Sie brauchen: „1 Passwort“, 5 oder 10. Die Länge stellen Sie mit dem Schieberegler oder im Zahlenfeld „Länge“ ein, laut Hinweis „8 bis 128 Zeichen“. Voreingestellt sind 20 Zeichen.

Darunter schalten Sie die Zeichengruppen „Großbuchstaben“, „Kleinbuchstaben“, „Ziffern“ und „Sonderzeichen“ ein oder aus. Das Feld „Erlaubte Sonderzeichen“ ist mit dem Zusatz „bearbeitbar“ versehen und enthält standardmäßig die 13 Zeichen !#$%&*+-=?@^_. Zwei weitere Schalter lauten „Ähnliche Zeichen vermeiden 0 O 1 l I |“ und „Mindestens ein Zeichen jeder Gruppe“, Letzterer ist voreingestellt aktiv.

Jede Änderung erzeugt sofort ein neues Passwort. Mit „Neu erzeugen“ würfeln Sie bei gleichen Regeln neu, das Kopiersymbol neben dem Passwort legt es in die Zwischenablage. Bei 5 oder 10 Passwörtern erscheint zusätzlich „Alle kopieren“, das im Test alle Passwörter zeilenweise kopierte.

Unter dem Passwort zeigt das Tool die Einstufung, etwa „sehr stark“, mit der Faustregel: unter 50 Bit schwach, 50 bis 79 Bit gut, ab 80 Bit sehr stark. Die Kacheln „Entropie“, „Zeichenvorrat“ und „Brute-Force“ nennen die Werte im Detail. Laut Seite stammt der Zufall „aus crypto.getRandomValues mit Rejection Sampling, ohne Modulo-Verzerrung“. Das ist die kryptografische Zufallsquelle des Browsers. Rejection Sampling bedeutet, dass Zufallswerte verworfen werden, die bestimmte Zeichen bevorzugen würden, sodass jedes Zeichen gleich wahrscheinlich ist.

Praxisbeispiel: Ein altes Warenwirtschaftssystem akzeptiert keine Zeichen wie # oder &. Löschen Sie sie im Feld „Erlaubte Sonderzeichen“ und erhöhen Sie zum Ausgleich die Länge um zwei bis drei Zeichen.

Verifizieren: Die Entropie berechnet sich als Länge mal log2(Zeichenvorrat). Für die Standardeinstellung zeigte das Tool „124,6 Bit“ mit „20 × log₂(75)“, bei 8 Zeichen „49,8 Bit“ und „schwach“. Gegenprobe im Terminal:

python3 -c 'import math; print(round(20*math.log2(75),1), round(8*math.log2(75),1), round(20*math.log2(62),1))'
# 124.6 49.8 119.1

Schritt 2: Entropie verstehen und Regeln sinnvoll wählen

Entropie in Bit beschreibt, wie viele Möglichkeiten ein Angreifer durchprobieren muss: Jedes zusätzliche Bit verdoppelt den Aufwand. Die Rechnung gilt nur für wirklich zufällig erzeugte Passwörter, nicht für ausgedachte. Im Test veränderte sich der Zeichenvorrat wie erwartet: Ohne Sonderzeichen sank er von 75 auf 62 (119,1 Bit), mit zusätzlich aktivem „Ähnliche Zeichen vermeiden“ auf 57 (116,7 Bit). Dagegen brachte die Verlängerung auf 64 Zeichen 398,6 Bit.

Daraus folgt die wichtigste Regel: Länge bringt mehr als exotische Zeichen. 20 Zeichen aus Buchstaben und Ziffern sind stärker als 12 Zeichen mit allen Sonderzeichen. Für Konten, die ein Mensch eintippen muss, ist „Ähnliche Zeichen vermeiden“ sinnvoll, weil 0 und O oder 1, l und I auf Papier oder am Telefon leicht verwechselt werden. Für Dienstkonten und API-Zugänge, die ohnehin nur kopiert werden, wählen Sie 32 Zeichen oder mehr.

Die Brute-Force-Kachel ist eine grobe Schätzung bei angenommenen 10 Milliarden Versuchen pro Sekunde. Wie schnell ein Angreifer tatsächlich rät, hängt vom Hash-Verfahren auf dem Zielsystem ab. Das Tool weist im Erklärtext selbst darauf hin.

Verifizieren: Erzeugen Sie bei 10 Passwörtern mit aktivem „Ähnliche Zeichen vermeiden“ mehrmals neu. In unserem Test mit fünf Durchgängen à 10 Passwörtern enthielt keines die Zeichen 0, O, 1, l, I oder |, jedes enthielt alle vier Gruppen und nur erlaubte Sonderzeichen. Den Zeichenvorrat prüfen Sie so:

python3 -c 'import string; s=string.ascii_letters+string.digits; print(len(s), len([c for c in s if c not in "0O1lI|"]))'
# 62 57

Schritt 3: htpasswd-Zeile und Traefik-Label erzeugen

Im Bereich „Hashes für Konfigurationen“ wählen Sie die Quelle: „Erzeugtes Passwort“ oder „Eigenes Passwort“. Bei mehreren Passwörtern steht neben jedem ein Knopf „Hash“, damit legen Sie fest, welches verwendet wird. Die Quelle wird dann etwa als „Passwort Nr. 3“ angezeigt. Tragen Sie unter „Benutzername“ den Kontonamen ein, voreingestellt ist admin.

Die Zeile „htpasswd (APR1)“ hat die Form benutzer:$apr1$Salz$Hash und ist laut Tool für „Apache, nginx und Traefik“ gedacht. APR1 ist eine Apache-Variante von MD5-crypt mit zufälligem Salz aus acht Zeichen. Das Salz sorgt dafür, dass dasselbe Passwort bei jedem Erzeugen einen anderen Hash ergibt, was das Tool auch ausdrücklich erklärt. Mit „Neues Salz“ erzeugen Sie bewusst ein neues.

Die Zeile „Docker-Compose-Label“ liefert das fertige Label für eine Traefik-Middleware. Docker Compose wertet $ als Beginn einer Variablen, deshalb muss jedes $ im Hash als $$ geschrieben werden. Das Tool erledigt das und nennt „auth“ als Namen der Middleware. Im Test stimmte das kopierte Label exakt mit der htpasswd-Zeile überein, bei der jedes $ verdoppelt war. In der compose.yaml sieht das so aus:

services:
  dashboard:
    labels:
      - "traefik.http.middlewares.auth.basicauth.users=admin:$$apr1$$SALZ$$HASH"
      - "traefik.http.routers.dashboard.middlewares=auth"

Für Apache oder nginx kopieren Sie stattdessen die htpasswd-Zeile in eine Datei, die außerhalb des Web-Verzeichnisses liegt, etwa /etc/nginx/.htpasswd. Schützen Sie Basic-Auth immer mit HTTPS, denn der Browser sendet das Passwort bei jeder Anfrage mit.

Verifizieren: Rechnen Sie den Hash mit dem Salz aus der Tool-Ausgabe nach (der Teil zwischen dem zweiten und dritten $). Im Test lieferte das Tool für ein Testpasswort und das Salz BQB5jtqR genau den Wert, den openssl berechnet:

openssl passwd -apr1 -salt BQB5jtqR 'Test-Passwort-2026!'
# $apr1$BQB5jtqR$A1OTiSIQk4OCzQ4bNxglE0
curl -I -u admin:IHR-PASSWORT https://dashboard.example.com
# erwartet: HTTP/2 200 statt 401

Schritt 4: SHA-512-crypt für Linux-Konten und nginx

Für Linux-Konten liefert das Tool unter „SHA-512-crypt“ einen Hash der Form $6$Salz$Hash. Mit „Runden SHA-512-crypt“ wählen Sie zwischen „5000 (Standard)“, 10 000, 50 000 und 100 000. Mehr Runden machen jeden Rateversuch teurer. Ab 10 000 steht die Rundenzahl im Hash als rounds=, im Test zum Beispiel $6$rounds=50000$Salz$…, mit dem Hinweis „im Hash als rounds= vermerkt“.

Zwei fertige Zeilen bauen darauf auf. „nginx (Linux)“ ist benutzer:$6$… für auth_basic_user_file. Laut Tool nutzt nginx dafür die crypt()-Funktion des Systems, das funktioniert also nur auf Linux-Systemen mit SHA-512-Unterstützung in der libc. „chpasswd“ liefert den kompletten Befehl echo 'benutzer:$6$…' | sudo chpasswd -e, der das Passwort eines Linux-Kontos direkt als Hash setzt. So landet das Klartext-Passwort nie in einem Skript oder in der Shell-History.

Ein Hinweis zu neueren Distributionen: Debian und Ubuntu verwenden für neue Passwörter inzwischen oft yescrypt ($y$). SHA-512-crypt wird weiterhin akzeptiert, der Erklärtext des Tools sagt das ebenfalls.

Verifizieren: Prüfen Sie den Hash mit openssl und dem Salz aus der Ausgabe. Nach dem Setzen zeigt sudo getent shadow, dass der Hash angekommen ist:

openssl passwd -6 -salt J0kAfWd5HTNwTPRP 'Test-Passwort-2026!'
# $6$J0kAfWd5HTNwTPRP$txu8/DfH92C1NoAuvCRJwrv2f5..HFr3WiEYgiWUfrsZmxFwDwkxfwst1hY2UiJfsSZ9EcG9CKNDxoEShXRGn1
sudo getent shadow backup | cut -d: -f2 | cut -c1-20

Die Variante mit 50 000 Runden haben wir über die crypt()-Funktion der glibc nachgerechnet, auch sie stimmte überein.

Schritt 5: Eigenes Passwort prüfen und hashen

Im Bereich „Eigenes Passwort prüfen“ geben Sie im Feld „Passwort“ (Zusatz „wird nicht gespeichert“) ein vorhandenes Passwort ein. Die Seite sagt dazu: „Die Prüfung läuft nur in diesem Browser. Nichts wird übertragen, gespeichert oder in die Adresse geschrieben.“ Das Tool zeigt „Länge“, „Entropie (max.)“ mit dem Zusatz „bei rein zufälliger Wahl“, eine „Einstufung“ und die gefundenen Zeichengruppen.

Wichtiger als die Bitzahl sind die Musterhinweise. Für 123456 meldete das Tool „Kürzer als 12 Zeichen.“, „Besteht nur aus Ziffern“ und „Tastatur- oder Zeichenfolge erkannt“. Für Sommer2024! lautete die Einstufung trotz 72 Bit „Muster erkannt“ mit „real deutlich schwächer“, weil eine Jahreszahl und ein häufiges Wort erkannt wurden. Ein zufälliges 12-Zeichen-Passwort erhielt dagegen „gut“ und „Keine einfachen Muster gefunden“.

Wählen Sie oben bei den Hashes die Quelle „Eigenes Passwort“, verwendet das Tool dieses Feld als Grundlage. Das ist nützlich, wenn ein Passwort bereits im Passwortmanager steht und Sie nur die htpasswd-Zeile brauchen.

Verifizieren: Mit leerem Prüffeld und Quelle „Eigenes Passwort“ erscheint statt der Hashes der Hinweis „Geben Sie unten ein eigenes Passwort ein.“ Nach der Eingabe muss der APR1-Hash mit openssl passwd -apr1 und dem angezeigten Salz übereinstimmen, wie in Schritt 3.

Typische Fehler

„Bitte mindestens eine Zeichengruppe wählen.“ Alle vier Gruppen sind abgeschaltet, es entsteht kein Passwort.

„Die Sonderzeichen-Auswahl ist leer.“ „Sonderzeichen“ ist aktiv, das Feld „Erlaubte Sonderzeichen“ aber leer. Das Tool erzeugt dann nur aus Buchstaben und Ziffern (Zeichenvorrat 62).

„Nicht verwendet: …“ Sie haben Umlaute, das Eurozeichen oder Leerzeichen eingetragen. Erlaubt sind nur druckbare ASCII-Sonderzeichen ohne Leerzeichen, die übrigen Zeichen ignoriert das Tool und nennt sie.

Länge außerhalb des Bereichs: Werte unter 8 setzte das Tool im Test auf 8, Werte über 128 auf 128, ohne gesonderte Meldung.

„APR1-MD5“ statt „htpasswd (APR1)“: Ist der Benutzername leer oder enthält er einen Doppelpunkt oder ein Leerzeichen, zeigt das Tool nur den Hash mit dem Hinweis „für eine htpasswd-Zeile fehlt ein gültiger Benutzername“. Label, nginx- und chpasswd-Zeile entfallen dann.

Login schlägt mit Traefik fehl: Meist steht der Hash mit einfachem $ in der compose.yaml, oder das Label wurde in eine .env-Datei verschoben, wo andere Regeln gelten. Verwenden Sie die Zeile „Docker-Compose-Label“ unverändert direkt in der compose.yaml.

Häufige Fragen

Werden Passwörter an den Server übertragen?

Die Seite gibt an: „Läuft komplett in Ihrem Browser“ und „Keine Daten an einen Server“. Im Test blieb die Zahl der Netzwerkanfragen bei allen Aktionen gleich. In der Adresszeile speichert das Tool nur Einstellungen wie die Anzahl, nicht die Passwörter. Für hochsensible Zugänge wie Domänen-Admin oder Root eines Hypervisors erzeugen Sie Passwörter trotzdem besser direkt im Passwortmanager oder mit openssl rand auf einem vertrauenswürdigen System.

Warum ändert sich der Hash bei jedem Klick?

Jeder Hash enthält ein zufälliges Salz. Gleiche Passwörter ergeben dadurch unterschiedliche Hashes, was Angriffe mit vorberechneten Tabellen verhindert. Alle Varianten funktionieren beim Login.

Ist APR1 noch zeitgemäß?

APR1 beruht auf MD5 und lässt sich vergleichsweise schnell berechnen. Der Erklärtext des Tools empfiehlt selbst bcrypt, wo der Server es unterstützt, etwa mit htpasswd -B. Mit einem langen Zufallspasswort und HTTPS bleibt APR1 für einfache Zugangssperren vertretbar.

Wie viele Runden sollte ich für SHA-512-crypt wählen?

Für einzelne Linux-Konten sind 5000 Runden der übliche Standard. Höhere Werte bremsen Angreifer stärker, verlangsamen aber auch jeden Login. Bei nginx-Basic-Auth wird bei jeder Anfrage geprüft, dort sind sehr hohe Rundenzahlen spürbar.

Testumfang

Wir haben den Generator am 1. Oktober 2026 in einem Chromium-Browser mit verschiedenen Längen, Zeichengruppen, eigenen Sonderzeichen und Fehleingaben getestet, dazu mehrere Benutzernamen und alle vier Rundenstufen. APR1- und SHA-512-crypt-Hashes haben wir mit openssl passwd und der crypt()-Funktion der glibc nachgerechnet, sie stimmten in allen Fällen überein. Die Entropiewerte entsprachen der Formel Länge mal log2(Zeichenvorrat).

Fazit

Der Passwort-Generator spart im Admin-Alltag mehrere Arbeitsschritte: Passwort erzeugen, Stärke einschätzen und den passenden Hash für htpasswd, Traefik, nginx oder Linux-Konten erstellen. Besonders praktisch ist das fertig maskierte Docker-Compose-Label, an dem sonst viele Traefik-Setups scheitern. Wählen Sie lieber mehr Länge als exotische Zeichen, legen Sie jedes erzeugte Passwort sofort im Passwortmanager ab und prüfen Sie Hashes für produktive Systeme kurz mit openssl nach.

Weiterführende Anleitungen und Quellen

PassworthtpasswdTraefikSHA-512SicherheitTools