Generator — Manual

Vollständige Funktionsbeschreibung des Generators: alle sieben Reiter, ihre Parameter und Zeichensätze, die Architektur (server- vs. clientseitig) und die Grenzen.

Zurück zur Übersicht: Generator · Tool live öffnen: www.jpkc.com/tools/generator/

Dieses Manual beschreibt den Generator vollständig: jeden der sieben Reiter, seine Optionen und Zeichensätze, was server- und was clientseitig läuft und welche Grenzen gelten. Die Oberfläche ist auf Englisch — die Reiter- und Button-Namen stehen deshalb in ihrer englischen Original-Schreibweise (mit deutscher Erläuterung), damit du dich im echten Interface zurechtfindest.

Architektur und Datenschutz vorab

Der Generator arbeitet zweigeteilt. Das ist die wichtigste Information, um seine Ergebnisse einzuordnen:

  • Serverseitig (PHP-API): die zufälligen Passwörter aus den vier Standard-Stufen, die Salt-Keys, die WordPress-Standard- und Extreme-Keys, die WLAN-Keys und der APR1-MD5-Block. Das JavaScript fordert den Wert per AJAX vom Server an (Endpunkte wie ?pw/24/), der ihn mit einem kryptografisch sicheren Zufallsgenerator erzeugt — random_int() für die Zeichenauswahl, random_bytes() + bin2hex() für Hex. Jede Antwort trägt no-cache-Header.
  • Clientseitig (Web-Crypto / WebAssembly, der Wert verlässt den Browser nicht): das Apple-Stil-Passwort, die BCrypt-/Argon2-Hashes und der gesamte TOTP-Reiter.

Heißt: Gibst du im Reiter Hashes dein eigenes Passwort ein, wird es nicht übertragen — gehasht wird lokal. Auch ein TOTP-Secret bleibt im Browser. Die serverseitig erzeugten Zufallswerte sind frische Einmalwerte ohne Zwischenspeicherung.

Passwords — Passwort-Generator

Der Standard-Reiter erzeugt zufällige Passwörter. Zwei Steuerelemente:

  • Complexity (Komplexität / Zeichensatz):
    • a-z + A-Z + 0-9 + more specials — voller Zeichensatz inklusive , . - ; _ # + * ! § $ % & / ( ) = ?.
    • a-z + A-Z + 0-9 + less specials — reduzierte Sonderzeichen (. - _ + # $ % * , !) für bessere Kompatibilität.
    • a-z + A-Z + 0-9 — rein alphanumerisch, keine Sonderzeichen.
    • a-f + 0-9 (hex) — hexadezimal (aus random_bytes()), nützlich für Tokens und Keys.
    • Apple-style (memorable, pronounceable) — siehe unten.
  • Length (Länge): 6, 8, 10, 12, 14, 16, 18, 20, 24 (Vorgabe), 32, 48, 64. Maximum 64 Zeichen.

Für die vier ersten Stufen holt das Tool den Wert serverseitig. Mit Generate Password erzeugst du einen neuen, mit Copy kopierst du ihn.

Apple-Stil — aussprechbar und einprägsam

Wählst du Apple-style, wechselt die Oberfläche: Statt Length erscheint Blocks (Anzahl der Blöcke à 6 Zeichen, durch - getrennt) mit den Werten 3 (Vorgabe, = 20 Zeichen) bis 9 (= 62 Zeichen). Diese Variante läuft rein clientseitig (Web-Crypto-API) und ahmt das iCloud-Schlüsselbund-Muster nach: Konsonant-Vokal im Wechsel (dadurch aussprechbar), genau eine Ziffer und genau ein Großbuchstabe im ganzen Passwort, mehrdeutige Zeichen ausgeschlossen. Ein Ergebnis sieht etwa aus wie kibavu-sed3ro-Nopuky.

Salt — Salt-Keys

Erzeugt kryptografische Salt-Keys mit erweitertem Zeichensatz (alle Buchstaben/Ziffern plus zahlreiche Sonderzeichen inklusive Backtick, Klammern und Leerzeichen) für maximale Entropie.

  • Length: 16, 32, 64 (Vorgabe), 128, 256, 512, 1024. Maximum 1024.

Generate Salt Key erzeugt einen Wert (serverseitig). Geeignet für allgemeine Secret-/Salt-Werte in Konfigurationen.

WordPress — Sicherheitsschlüssel für wp-config.php

Erzeugt die acht WordPress-Sicherheitsschlüssel als fertige define()-Zeilen: AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, NONCE_KEY, AUTH_SALT, SECURE_AUTH_SALT, LOGGED_IN_SALT und NONCE_SALT.

  • Key Length: 64 (Vorgabe), 72, 96, 128.

Generate Keys liefert den fertigen Block zum Einsetzen in wp-config.php (serverseitig erzeugt).

Extreme Keys — gehärtete Schlüssel mit hash_hmac()

Der Button Extreme Keys (gelb) klappt zuerst ein Optionen-Panel auf; ein zweiter Klick generiert. Dieser Modus baut die Schlüssel nicht statisch, sondern als PHP-Code, der zur Laufzeit per hash_hmac('sha512', …) aus statischen Geheimnissen und dynamischen Server-Variablen abgeleitet wird. Optionen:

  • Key Rotation: No rotation, Hourly, Daily, Weekly (Vorgabe), Monthly — wie oft sich die Schlüssel automatisch über date() ändern.
  • Dynamic Components (Schalter): Client IP (REMOTE_ADDR), User-Agent (HTTP_USER_AGENT), Server Address (SERVER_ADDR + SERVER_NAME) — alle drei standardmäßig an.

Der erzeugte Code enthält eine Helferfunktion (jpkcom_extreme_key()), die statisches Geheimnis und Kontext kombiniert. Wichtig: Jede ausgewählte dynamische Komponente, die sich ändert (IP-Wechsel per VPN/Mobilfunk, Browser-Update ändert den User-Agent, das Rotationsintervall läuft ab), invalidiert die laufenden Sessions — die Nutzer müssen sich neu anmelden. Das Optionen-Panel weist mit einer Warnung darauf hin.

WLAN — WPA/WPA2-Schlüssel

Erzeugt WLAN-Schlüssel, die mit WPA/WPA2 kompatibel sind (20 bis 63 Zeichen).

  • Complexity: a-z + A-Z + 0-9 + specials (mit den sicheren Sonderzeichen . - _ , +) oder a-z + A-Z + 0-9 (rein alphanumerisch).
  • Length: 20, 30, 40, 50, 63 (Vorgabe). Erlaubt sind 20 bis 63 Zeichen — die Untergrenze entspricht den WPA-Mindestanforderungen, die Obergrenze dem WPA-Maximum.

Generate WLAN Key erzeugt den Schlüssel (serverseitig).

APR1-MD5 — Passwort und Hash für .htpasswd

Erzeugt in einem Schritt ein zufälliges Passwort und dessen APR1-MD5-Hash im $apr1$-Format, wie ihn Apache für Basic-Auth in .htpasswd-Dateien erwartet.

  • Complexity: dieselben vier Stufen wie beim Passwort-Generator (more specials, less specials, alphanumerisch, hex).
  • Length: 8, 12, 16, 20, 24 (Vorgabe), 32.

Die Ausgabe enthält beide Werte untereinander:

Password:
<das Klartext-Passwort>

APR1-MD5:
$apr1$<salt>$<hash>

Das Klartext-Passwort gibst du der Person/dem System, den $apr1$-Hash trägst du in die .htpasswd ein. Erzeugung und Hashing laufen hier serverseitig.

Hashes — BCrypt, Argon2i und Argon2id

Berechnet aus einem Passwort drei moderne Passwort-Hashes — vollständig clientseitig per WebAssembly (Bibliothek hash-wasm). Das Passwort wird dabei nicht an den Server gesendet.

Eingabe: Im Feld Password gibst du ein eigenes Passwort ein oder erzeugst per Generate ein zufälliges (dieses eine kommt aus der serverseitigen API, gesteuert über die beiden Dropdowns Complexity (generate) und Length (generate)). Der Hash-Button rechnet erst, wenn das Feld nicht leer ist.

Parameter:

  • BCrypt Cost: 8 (fast), 10 (default) (Vorgabe), 12 (slow, ~3–8s) — der Cost-Faktor (Arbeitsfaktor) von BCrypt.
  • Argon2 Memory: 4 MB (fast), 16 MB, 64 MB (OWASP) (Vorgabe), 256 MB (slow) — der Speicherbedarf für beide Argon2-Varianten.

Beim Klick auf Hash erzeugt das Tool für jeden Algorithmus ein eigenes zufälliges 16-Byte-Salt (Web-Crypto) und berechnet parallel:

  • BCrypt mit dem gewählten Cost-Faktor.
  • Argon2i und Argon2id mit fixen Parametern iterations=3, parallelism=1, hashLength=32 und dem gewählten Speicher (Vorgabe 64 MB). Eine Info-Zeile zeigt die tatsächlich verwendeten Parameter an.

Alle drei Hashes erscheinen im encoded-Format (also inklusive Algorithmus-Kennung, Parametern und Salt) und sind direkt in Anwendungen verwendbar, die diese Formate verifizieren. Die WASM-Berechnung kann je nach Cost-/Speicher-Wahl spürbar dauern (deshalb der Hinweis „~3–8 s" bei Cost 12); ein Lade-Spinner zeigt den Fortschritt an.

OTP — TOTP-Einmalcodes (RFC 6238)

Richtet eine zeitbasierte Zwei-Faktor-Authentifizierung (TOTP) ein — vollständig clientseitig über die Web-Crypto-API. Kompatibel mit jeder Authenticator-App (Google Authenticator, Aegis und weitere).

Eingaben und Felder:

  • Account Name und Issuer (Aussteller/Dienstname) — wandern in das Label der Key-URL und des QR-Codes (Vorgaben user@example.com bzw. My Service).
  • Secret (Base32) — das geheime Schlüsselmaterial. Mit Generate erzeugst du ein neues 20-Byte-Secret (160 Bit, Base32-kodiert); du kannst auch ein vorhandenes Secret eintragen. Für QR und URL muss das Secret mindestens 16 Zeichen lang sein.
  • Secret (Hex) — schreibgeschützte Hex-Darstellung desselben Secrets.
  • Interval — Gültigkeitsdauer eines Codes: 30 seconds (Vorgabe) oder 60 seconds.
  • Key URL (otpauth://) — die fertige otpauth://totp/…-URL mit algorithm=SHA1, digits=6 und der gewählten period. Buttons Copy und Open.
  • QR-Code — wird aus der Key-URL gerendert (196 × 196 px, Fehlerkorrektur-Stufe M, an das dunkle Theme angepasst). Save QR Code lädt ihn als PNG herunter.

Live-Anzeige: Drei Codes nebeneinander — Previous, Current OTP (mit eigenem Copy-Button) und Next — sowie Infokarten zu Epoch (UTC), Iteration (T), Padded Hex und Remaining (Restsekunden) plus eine Fortschrittsleiste, die bei ≤ 10 s gelb und bei ≤ 5 s rot wird. Die Codes basieren auf HMAC-SHA1 und sind sechsstellig; sie aktualisieren sich jede Sekunde.

Grenzen — kompakt

  • Passwörter: maximal 64 Zeichen (Apple-Stil: 3–9 Blöcke à 6 Zeichen, also 20–62 Zeichen).
  • Salt-Keys: 1 bis 1024 Zeichen.
  • WLAN-Keys: 20 bis 63 Zeichen (WPA-konform).
  • WordPress-Keys: acht Schlüssel; Längenvorgaben 64/72/96/128.
  • TOTP: HMAC-SHA1, 6 Stellen, Periode 30 oder 60 s; Secret 20 Byte (Base32), QR ab 16 Zeichen Secret.
  • Hashes: BCrypt-Cost 8/10/12; Argon2-Speicher 4/16/64/256 MB, sonst feste Parameter (iter 3, parallelism 1, length 32).
  • Datenschutz: eigenes Passwort im Hashes-Reiter und TOTP-Secret bleiben im Browser; serverseitig erzeugte Zufallswerte werden mit no-cache ausgeliefert.

Für die Zielgruppen und das große Bild siehe die Übersicht. Konkrete Abläufe zeigen die Beispiele, Strategie und Stolperfallen die Tipps & Tricks. Ausprobieren kannst du alles direkt im Tool.