Password Generator

Starke Zufallspasswörter mit konfigurierbarer Länge und Zeichensätzen generieren

Länge20
Anzahl5

Was ist ein Password Generator?

Ein Password Generator erstellt zufällige Zeichenketten, die als Passwörter für Benutzerkonten, API-Schlüssel, Datenbank-Zugangsdaten und Verschlüsselungsgeheimnisse verwendet werden. Im Gegensatz zu manuell gewählten Passwörtern schöpfen generierte Passwörter aus dem vollständigen Raum möglicher Zeichenkombinationen und sind dadurch resistent gegen Wörterbuchangriffe und musterbasiertes Erraten. Dieses Tool generiert starke Zufallspasswörter online mithilfe des kryptografischen Zufallszahlengenerators deines Browsers.

Die Stärke eines Passworts hängt von zwei Faktoren ab: Länge und Zeichenvielfalt. Ein 20-Zeichen-Passwort mit Groß- und Kleinbuchstaben, Ziffern und Sonderzeichen hat rund 131 Bits Entropie. Auf diesem Niveau würde ein Brute-Force-Angriff mit einer Billion Versuchen pro Sekunde länger als das Alter des Universums benötigen, um jede Kombination durchzuprobieren. Die Berechnung ist einfach: Entropie = Länge × log2(Zeichensatzgröße).

Standards wie NIST SP 800-63B empfehlen Passwörter mit mindestens 8 Zeichen ohne vom Prüfer erzwungene Obergrenze und raten von erzwungenen Kompositionsregeln ab – etwa der Anforderung genau eines Sonderzeichens – und bevorzugen stattdessen längere Passphrasen. Für Maschine-zu-Maschine-Zugangsdaten und Dienstkonten gelten 20 oder mehr zufällige Zeichen aus einem vollständigen Zeichensatz als akzeptierter Basiswert in den meisten Sicherheits- und Compliance-Rahmenwerken.

Warum einen Password Generator verwenden?

Menschen sind schlechte Zufallszahlengeneratoren. Wir verwenden Passwörter wieder, wählen Wörterbuchwörter, ersetzen Buchstaben durch vorhersehbare Muster (@ statt a, 3 statt e) und tendieren zu kurzen Zeichenketten. Ein Password Generator entfernt menschliche Voreingenommenheit aus diesem Prozess.

🔐
Datenschutzorientierte Generierung
Passwörter werden vollständig in deinem Browser mithilfe der Web Crypto API generiert. Keine Zeichen verlassen dein Gerät, nichts wird protokolliert, und während der Generierung werden keine Netzwerkanfragen gestellt.
Sofortige Stapelausgabe
Bis zu 20 Passwörter mit einem einzigen Klick generieren. Einzelne Passwörter oder alle auf einmal kopieren – für Bereitstellungsskripte oder Passwort-Tresore.
🛡️
Kein Konto erforderlich
Keine Registrierung, keine E-Mail, keine Cookies, die deine generierten Passwörter verfolgen. Seite öffnen, Optionen konfigurieren und generieren.
🎛️
Vollständige Zeichensatzkontrolle
Groß- und Kleinbuchstaben, Ziffern und Sonderzeichen unabhängig voneinander aktivieren. Länge von 4 bis 128 Zeichen einstellen, um die Anforderungen jedes Systems oder jeder Richtlinie zu erfüllen.

Anwendungsfälle des Password Generators

Frontend-Entwicklung
Testpasswörter für Formularvalidierung, Eingabelängen-Tests und Authentifizierungsablauf-Entwicklung generieren. Sicherstellen, dass Login-Formulare Passwörter mit 128 Zeichen und Sonderzeichen korrekt verarbeiten.
Backend & DevOps
Datenbank-Zugangsdaten, API-Tokens und Dienstkonto-Passwörter beim Infrastrukturaufbau erstellen. Stapelgenerierung nutzen, um mehrere Dienste in einer einzigen Sitzung bereitzustellen.
Security Engineering
Hochentropische Geheimnisse für Verschlüsselungsschlüssel, HMAC-Signierung und JWT-Secret-Rotation generieren. Länge auf 64+ Zeichen setzen für Geheimnisse, die 256 Bits Entropie überschreiten müssen.
QA & Penetration Testing
Durchsetzung von Passwortrichtlinien testen, indem Zeichenketten mit oder ohne bestimmte Zeichensätze generiert werden. Sicherstellen, dass Systeme Passwörter unter der Mindestlänge oder -komplexität korrekt ablehnen.
Data Engineering
Zufällige Zugangsdaten für Testumgebungen, Staging-Datenbanken und CI/CD-Pipeline-Geheimnisse generieren. Wiederverwendung von Produktionspasswörtern in Testdaten vermeiden, indem pro Umgebung neue generiert werden.
Sicherheit persönlicher Konten
Einzigartige Passwörter für jedes Online-Konto erstellen. Diesen Generator mit einem Passwort-Manager kombinieren, um Zugangsdaten zu speichern, die nicht auswendig gelernt werden müssen.

Passwort-Entropie-Referenz

Entropie misst, wie unvorhersehbar ein Passwort ist. Sie wird berechnet als log2(Zeichensatzgröße ^ Länge). Höhere Entropie bedeutet mehr mögliche Kombinationen, die ein Angreifer durchsuchen muss. NIST und OWASP empfehlen mindestens 80 Bits Entropie für sicherheitskritische Anwendungen.

LängeZeichensatzEntropieBrute-Force-Zeit
8lower + digits~41 bitsMinutes to hours
12lower + upper + digits~71 bitsCenturies (offline)
16all character sets~105 bitsBeyond brute-force
20all character sets~131 bitsBeyond brute-force
32all character sets~210 bitsBeyond brute-force
64all character sets~419 bitsBeyond brute-force

Crack-Zeiten setzen 1 Billion Versuche pro Sekunde voraus (Offline-Angriff mit modernen GPUs). Online-Angriffe mit Rate-Limiting sind um Größenordnungen langsamer.

CSPRNG vs. Math.random() zur Passwortgenerierung

Die Zufallsquelle ist genauso wichtig wie die Passwortlänge. Ein Passwort, das mit einem vorhersehbaren Zufallszahlengenerator erstellt wurde, kann von einem Angreifer rekonstruiert werden, der den Algorithmus und den Seed-Zustand kennt. Dieses Tool verwendet crypto.getRandomValues(), einen kryptografisch sicheren Pseudozufallszahlengenerator (CSPRNG), der in jeden modernen Browser integriert ist.

crypto.getRandomValues()
Verwendet Entropiequellen des Betriebssystems (Hardware-RNG, Interrupt-Timing usw.). Die Ausgabe ist unvorhersehbar, selbst wenn ein Angreifer alle vorherigen Ausgaben kennt. Vom W3C Web Crypto-Standard für sicherheitssensible Operationen vorgeschrieben.
Math.random()
Verwendet einen deterministischen Algorithmus, der aus einem begrenzten Entropiepool gespeist wird. Die Ausgabe kann vorhergesagt werden, wenn der Seed-Zustand bekannt ist. Die ECMAScript-Spezifikation stellt ausdrücklich fest, dass Math.random() keine kryptografisch sicheren Zufallszahlen liefert. Niemals zur Passwortgenerierung verwenden.

Code-Beispiele

Passwörter programmatisch in verschiedenen Sprachen generieren. Jedes Beispiel unten verwendet eine kryptografisch sichere Zufallsquelle – nicht Math.random() oder vergleichbare schwache PRNGs.

JavaScript (Web Crypto API)
// Generate a random password in the browser or Node.js 19+
function generatePassword(length = 20) {
  const charset = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*'
  const values = new Uint32Array(length)
  crypto.getRandomValues(values)
  return Array.from(values, v => charset[v % charset.length]).join('')
}

console.log(generatePassword())    // → "kR7!mZp$Xw2&nLq9@Yf3"
console.log(generatePassword(32))  // → "Hd4%tNx!Qw8#mKp2Rv6&Zj0*Ls3Yb7@"
Python
import secrets
import string

def generate_password(length: int = 20) -> str:
    """Generate a cryptographically secure random password."""
    alphabet = string.ascii_letters + string.digits + string.punctuation
    return ''.join(secrets.choice(alphabet) for _ in range(length))

# Single password
print(generate_password())      # → "kR7!mZp$Xw2&nLq9@Yf3"

# Batch of 5 passwords
for _ in range(5):
    print(generate_password(24))

# Ensure at least one char from each category
def generate_strong(length: int = 20) -> str:
    required = [
        secrets.choice(string.ascii_uppercase),
        secrets.choice(string.ascii_lowercase),
        secrets.choice(string.digits),
        secrets.choice(string.punctuation),
    ]
    remaining = length - len(required)
    alphabet = string.ascii_letters + string.digits + string.punctuation
    all_chars = required + [secrets.choice(alphabet) for _ in range(remaining)]
    secrets.SystemRandom().shuffle(all_chars)
    return ''.join(all_chars)
CLI (OpenSSL / /dev/urandom)
# OpenSSL — generate 32 random bytes, base64-encode
openssl rand -base64 32
# → "x7Kp2mNqR4wZ8vLs1Yb0Hd6tFj3Xc9Ga5eUi+Wo="

# /dev/urandom with tr — alphanumeric + symbols, 20 chars
tr -dc 'A-Za-z0-9!@#$%^&*' < /dev/urandom | head -c 20; echo
# → "kR7!mZp$Xw2&nLq9@Yf3"

# pwgen (install: apt install pwgen / brew install pwgen)
pwgen -sy 20 5
# Generates 5 passwords, 20 chars each, with symbols
Go
package main

import (
    "crypto/rand"
    "fmt"
    "math/big"
)

func generatePassword(length int) (string, error) {
    charset := "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()"
    result := make([]byte, length)
    for i := range result {
        idx, err := rand.Int(rand.Reader, big.NewInt(int64(len(charset))))
        if err != nil {
            return "", err
        }
        result[i] = charset[idx.Int64()]
    }
    return string(result), nil
}

func main() {
    pwd, _ := generatePassword(20)
    fmt.Println(pwd) // → "kR7!mZp$Xw2&nLq9@Yf3"
}

Häufig gestellte Fragen

Wie lang sollte ein Passwort sein?
Für Benutzerkonten bieten 16 Zeichen aus einem gemischten Zeichensatz über 100 Bits Entropie – ausreichend für alle aktuellen Bedrohungsmodelle. Für Maschinengeheimnisse (API-Schlüssel, Verschlüsselungsschlüssel) sollten 32 oder mehr Zeichen verwendet werden. NIST SP 800-63B legt ein Minimum von 8 Zeichen fest, empfiehlt aber, dass Systeme deutlich längere Passwörter ohne Kürzung zulassen.
Ist dieser Password Generator sicher?
Ja. Passwörter werden im Browser über die Web Crypto API (crypto.getRandomValues) generiert. Es werden keine Daten an einen Server gesendet. Das lässt sich überprüfen, indem der Netzwerk-Tab des Browsers geöffnet und beobachtet wird, dass beim Klick auf „Generieren“ keine Anfragen gestellt werden. Der Quellcode ist clientseitiges JavaScript, das in den Entwicklerwerkzeugen des Browsers einsehbar ist.
Was ist Passwort-Entropie?
Entropie ist ein in Bits ausgedrücktes Maß für Zufälligkeit. Ein Passwort mit N Bits Entropie hat 2^N mögliche Werte. Beispielsweise hat ein 20-Zeichen-Passwort aus 95 druckbaren ASCII-Zeichen log2(95^20) = 131,1 Bits Entropie. Jedes zusätzliche Bit verdoppelt die Anzahl der Versuche, die ein Angreifer benötigt.
Sollten Sonderzeichen in Passwörtern enthalten sein?
Das Einbeziehen von Sonderzeichen erhöht den Zeichensatz von 62 (Buchstaben + Ziffern) auf 95 (druckbare ASCII-Zeichen), was etwa 6,1 Bits Entropie pro Zeichen hinzufügt. Manche Systeme schränken erlaubte Sonderzeichen ein. Wenn ein System bestimmte Sonderzeichen ablehnt, die Sonderzeichen-Option deaktivieren und mit einem längeren Passwort kompensieren. Ein 24-Zeichen-alphanumerisches Passwort hat mehr Entropie als ein 16-Zeichen-Passwort mit Sonderzeichen.
Warum nicht Math.random() zur Passwortgenerierung verwenden?
Math.random() ist nicht kryptografisch sicher. Die meisten JavaScript-Engines implementieren es mit xorshift128+ oder einem ähnlichen schnellen PRNG, der für Simulationen und Spiele konzipiert ist, nicht für Sicherheit. Ein Angreifer, der einige Ausgaben beobachtet, kann den internen Zustand wiederherstellen und alle zukünftigen Ausgaben vorhersagen. Die Web Crypto API verwendet Entropiequellen des Betriebssystems, die nicht vorhersagbar sind.
Können generierte Passwörter für API-Schlüssel und Tokens verwendet werden?
Ja, aber die Formatanforderungen des Zielsystems sind zu beachten. Manche APIs erwarten Base64-kodierte Schlüssel oder Hex-Strings statt beliebiger Zeichen. Für die Generierung von Rohgeheimnissen den vollständigen Zeichensatz mit 32+ Zeichen verwenden. Für Base64-Schlüssel zufällige Bytes generieren und separat kodieren, anstatt Base64 als Passwort-Zeichensatz zu behandeln.
Wie oft sollten Passwörter rotiert werden?
NIST SP 800-63B (2017, aktualisiert 2024) empfiehlt keine erzwungene periodische Rotation für Benutzerpasswörter, da dies zu schwächeren Passwortentscheidungen führt. Nur bei Anzeichen einer Kompromittierung rotieren. Für Maschinengeheimnisse und Dienstkonten basierend auf dem Risikomodell der Organisation rotieren – typischerweise alle 90 Tage für hochprivilegierte Zugangsdaten.