Passwort-Generator
Starke Passwörter mit benutzerdefinierter Länge und Zeichentypen generieren
Verwechslungsgefährdete Zeichen ausschließen wie 0O, 1lI
Was ist ein Passwort-Generator?
Ein Passwortgenerator erstellt zufällige, schwer zu erratende Passwörter nach festgelegter Länge und Zeichenauswahl. Gute Generatoren verwenden kryptografisch sichere Zufallsquellen und mischen Großbuchstaben, Kleinbuchstaben, Zahlen und Symbole nur dann, wenn das Zielsystem diese Zeichen auch akzeptiert. Starke Passwörter reduzieren das Risiko von Wörterbuchangriffen, Credential Stuffing und einfachem Raten, ersetzen aber keine weiteren Schutzmaßnahmen wie Passwortmanager, eindeutige Passwörter pro Konto und Zwei-Faktor-Authentifizierung. Sehr komplexe Passwörter sollten nicht manuell gemerkt, sondern sicher gespeichert werden. Für gemeinsam genutzte Systeme müssen außerdem Rotations- und Zugriffsregeln klar definiert sein. Sicherheitsrelevante Ergebnisse sollten nie isoliert bewertet werden; Schlüssel, Kontext, Algorithmus und Vertrauensquelle gehören zur Prüfung.
Anleitung
Erstellungsschritte
- Wähle die Passwortlänge (mindestens 12 Zeichen empfohlen)
- Wähle die Zeichentypen: Großbuchstaben, Kleinbuchstaben, Zahlen, Sonderzeichen
- Optional: Schließe leicht verwechselbare Zeichen wie 0O, 1lI aus
- Klicke auf „Generieren“, wiederhole den Vorgang bis zum gewünschten Ergebnis
Passwortstärke
- Schwach: Weniger als 8 Zeichen oder nur ein Zeichentyp
- Mittel: 8–11 Zeichen mit gemischten Buchstaben und Zahlen
- Gut: 12–15 Zeichen mit mehreren Zeichentypen
- Stark: 16+ Zeichen mit allen Zeichentypen
Sicherheitstipps
- Alle Passwörter werden lokal erzeugt und niemals auf einen Server hochgeladen
- Verwende für verschiedene Webseiten unterschiedliche Passwörter
- Nutze einen Passwortmanager zur sicheren Speicherung
- Ändere regelmäßig die Passwörter wichtiger Konten
- Vermeide die Verwendung persönlicher Daten in Passwörtern
Anwendungsfälle
Technisches Prinzip
Der Passwortgenerator bezieht Zufälligkeit aus crypto.getRandomValues(new Uint32Array(n)), das ein typisiertes Array mit kryptografisch sicheren pseudozufälligen Werten aus dem Entropie-Pool des Betriebssystems füllt (getrandom auf Linux, BCryptGenRandom auf Windows, SecRandomCopyBytes auf macOS/iOS). Dies ist ein CSPRNG gemäß der Definition des W3C Web Cryptography API — im Gegensatz zu Math.random(), das in V8 den xorshift128+-Algorithmus verwendet und ausdrücklich als nicht kryptografisch und aus einer kleinen Stichprobe von Ausgaben vorhersagbar dokumentiert ist. Der Zeichenpool wird aus den vom Benutzer gewählten Zeichenklassen zusammengestellt: Großbuchstaben (26 Buchstaben A-Z), Kleinbuchstaben (26 Buchstaben a-z), Ziffern (10 Zeichen 0-9) und Symbole (32 Zeichen aus !@#$%^&*()_+-=[]{}|;:,.<>?), was einen maximalen Pool von 94 Zeichen ergibt. Ein benutzerdefinierter Zeichensatz oder eine Ausschlussliste (einschließlich eines Filters für mehrdeutige Zeichen, der i, I, l, L, 1, o, O, 0 entfernt) verfeinert den Pool weiter. Jedes Passwortzeichen wird durch array[i] % pool.length ausgewählt, was gleichmäßig verteilt ist, da die CSPRNG-Ausgabe über 32 Bit gleichmäßig ist und der Modulo-Bias (|pool| teilt 2^32 nicht gleichmäßig) für Pools unter 256 Zeichen vernachlässigbar ist — der Bias liegt unter 0,00000006 % und weit unter jeder praktischen Relevanz. Die Passwortstärke wird anhand der Größe des Suchraums gemessen: Bei einem Pool der Größe C und einer Passwortlänge L beträgt die Anzahl möglicher Passwörter C^L. Die Entropie in Bit ist log2(C^L) = L × log2(C). Für ein 16-Zeichen-Passwort mit allen vier Zeichenklassen (C=94) ergibt dies 94^16 ≈ 4,4 × 10^31 Kombinationen oder etwa 105 Bit Entropie. Bei einer hypothetischen Angriffsrate von 10^12 Versuchen pro Sekunde (etwa der Durchsatz eines großen GPU-Clusters gegen einen schnellen Hash wie NTLM) würde eine erschöpfende Suche etwa 4,4 × 10^19 Sekunden dauern — weit länger als das Alter des Universums. Dieses Modell setzt voraus, dass der Angreifer jede Kombination testen muss (keine Wörterbuch- oder musterbasierter Abkürzungen) und dass das Passwort mit einem langsamen, gesalzenen Algorithmus wie bcrypt oder Argon2id gehasht und nicht im Klartext gespeichert ist. NIST SP 800-63B empfiehlt ein Minimum von 8 Zeichen für benutzergewählte Passwörter und mindestens 6 zufällig generierte Zeichen für maschinell erzeugte Zugangsdaten, wobei der Zeichensatz dokumentiert sein muss. Der Längenbereich des Generators von 4–64 Zeichen deckt alles von PIN-Codes bis hin zu hochentropischen Maschinen-Zugangsdaten ab. Die Option „Mit Buchstabe beginnen“ stellt sicher, dass das erste Zeichen aus [A-Za-z] gezogen wird, was Legacy-Systeme erfüllt, die verlangen, dass Passwörter mit einem Buchstaben beginnen.
- CSPRNG-Quelle: crypto.getRandomValues() bezieht Entropie aus dem CSPRNG des OS-Kernels (getrandom/BCryptGenRandom/SecRandomCopyBytes) — im Gegensatz zu Math.random() (xorshift128+) ist es nicht vorhersagbar, nicht durch die Seite initialisierbar und für die Zugangsdatengenerierung geeignet.
- Zeichenraum-Mathematik: Bei aktivierten vier Zeichenklassen beträgt die Poolgröße 94; die Entropie pro Zeichen beträgt log2(94) ≈ 6,55 Bit. Ein 16-Zeichen-Passwort hat ~105 Bit Entropie; eine Verdopplung der Länge auf 32 erhöht dies auf ~210 Bit.
- Modulo-Auswahl: array[i] % pool.length bildet die 32-Bit-CSPRNG-Ausgabe auf einen Zeichenindex ab — der Bias liegt unter 6 × 10^-8 % für Pools unter 256 Zeichen und ist damit kryptografisch irrelevant.
- Brute-Force-Widerstandsmodell: Bei 10^12 Versuchen/Sekunde (GPU-Cluster-Niveau) würde ein 16-Zeichen-Passwort mit 94 Symbolen ~10^19 Sekunden zur Erschöpfung brauchen — aber dies setzt einen schnellen Hash voraus; bcrypt mit Kostenfaktor 12 senkt den Angreifer auf ~10^4 Versuche/Sekunde, sodass selbst 8-Zeichen-Passwörter widerstandsfähig sind.
- Ausschluss mehrdeutiger Zeichen: Der Filter entfernt {i, I, l, L, 1, o, O, 0} (8 Zeichen) — dies reduziert den Pool von 94 auf 86 und kostet etwa 0,6 Bit Entropie pro Zeichen, was für den Usability-Gewinn bei manuellen Übertragungsszenarien akzeptabel ist.
- NIST SP 800-63B-Konformität: Der Standard verlangt mindestens 6 zufällig gewählte Zeichen für maschinell erzeugte Geheimnisse und empfiehlt die Dokumentation des Zeichenraums — die Voreinstellungen des Generators (Einfach 8 Zeichen, Stark 20 Zeichen) ordnen sich verschiedenen Sicherheitsstufen zu.
- localStorage-Verlauf: Die letzten 10 generierten Passwörter werden in window.localStorage gespeichert, das auf Ursprung und Browserprofil beschränkt ist — das Löschen des Verlaufs entfernt sie aus dem Speicher, aber ein Forensik-Tool auf Datenträgerebene könnte sie wiederherstellen, da localStorage als SQLite-Klartextdatenbank im Browserprofil-Verzeichnis gespeichert wird.
Beispiele
Starkes Passwort (gemischte Zeichenklassen)
Kx9#mP2$vL7@nQ4! - 16 Zeichen, alle vier Klassen (Groß-/Kleinbuchstaben/Ziffer/Symbol)
Stärke: extrem hoch; selbst bei 10 Milliarden Versuchen pro Sekunde dauert ein Brute-Force-Angriff JahrhundertePIN-Code (4 Ziffern)
8527 - 4 numerische Ziffern
Stärke: 10.000 Kombinationen; nur für Geräte-Entsperrung mit Rate-Limiting und Sperrung geeignet, nicht für Online-KontenVergleich der Passwortstärke
8 Zeichen, nur Kleinbuchstaben : 26^8 ≈ 2,08e11 Kombinationen
8 Zeichen, gemischte Klassen : 94^8 ≈ 6,10e15 Kombinationen
16 Zeichen, gemischte Klassen : 94^16 ≈ 3,7e31 Kombinationen
Hinweis: Jedes zusätzliche Zeichen multipliziert den Schlüsselraum mit 94, nicht mit 8 – Länge zählt mehr als die KlassenanzahlFAQ
Wird das Passwort in meinem Browser generiert?
Ja. Die Seite verwendet crypto.getRandomValues aus der Web Crypto API, die kryptografisch starke Zufallsbytes liefert. Das Passwort verlässt dein Gerät nicht, wird nicht protokolliert und nicht aus einem deterministischen Seed abgeleitet. Lade die Seite neu, um eine frische Entropie-Sequenz zu starten, falls du sichergehen willst.
Welche Länge und Zeichenmischung sollte ich wählen?
Für Online-Konten sind heute mindestens 16+ Zeichen mit Groß-/Kleinbuchstaben, Ziffern und Symbolen Standard. Für Master-Passwörter (Passwort-Manager, Verschlüsselungsschlüssel) sind 20+ Zeichen oder eine 6-7-Wort-Passphrase sicherer. Ab einem bestimmten Punkt zählt die Länge mehr als die Komplexität des Zeichensatzes.
Warum lehnen manche Seiten das gerade generierte Passwort ab?
Manche Seiten erzwingen immer noch überraschende Einschränkungen: maximale Länge (oft 12-20), keine Symbole, nur bestimmte erlaubte Symbole oder keine Leerzeichen. Die Seite bietet Zeichen-Schalter, damit du den Regeln entsprechen kannst. Melde die betreffende Seite – solche Richtlinien schwächen aktiv die Sicherheit.
Werden manche Zeichen absichtlich vermieden?
Wenn du die Option 'ähnlich aussehende Zeichen vermeiden' aktivierst, schließt der Generator 0/O, 1/l/I und ähnliche Paare aus, die sich beim Abschreiben von Papier oder einem Klebezettel leicht verwechseln lassen. Deaktiviere sie für maximale Entropie, wenn du das Passwort nur digital verwendest.
Ist ein langes Zufallspasswort sicherer als eine Passphrase?
Bei gleicher Entropie sind beide gleich schwer per Brute Force zu knacken. Ein 16-Zeichen-Passwort mit gemischten Zeichen entspricht etwa einer 6-Wort-Passphrase aus einer 2000-Wörter-Liste. Passphrasen sind leichter zu tippen und zu merken; reine Zufallsketten lassen sich einfacher aus einem Manager einfügen. Wähle nach Anwendungsfall.
Kann ich dem für Master-Schlüssel meines Passwort-Managers vertrauen?
Ja – die Zufallsquelle ist dieselbe Web Crypto API, die dein Browser auch für HTTPS-Schlüssel verwendet. Bei extrem hochsensiblen Geheimnissen (Master-Schlüsseln, Wiederherstellungscodes) bevorzugen viele jedoch Würfel (Diceware) oder ein Offline-Tool, einfach um den Browser ganz aus der Vertrauenskette zu entfernen.
Soll ich das generierte Passwort hier speichern?
Nein. Die Seite speichert keine Passwörter; kopiere es sofort in einen Passwort-Manager (1Password, Bitwarden, KeePass, den eingebauten Browser-Manager). Wenn du die Seite schließt oder neu lädst, ist es endgültig verworfen.