Dieses Tool erzeugt kryptografisch sicheres Zufallsschlüsselmaterial. Anders als die bestehenden Zufallsstring- und Passwortgeneratoren (die Math.random() nutzen und für Secrets ungeeignet sind), ist dieses Tool entropiegesteuert und CSPRNG-basiert.
Entropiegesteuerter Input. Sie geben eine Zielentropie in Bits an (Standard 256, Schritt 8) — die gewünschte Sicherheit — und das Tool leitet die Bytezahl (bytes = ceil(bits/8)) für Sie ab. Das ist das richtige mentale Modell für Schlüssel: Ein JWT-HS256-Secret braucht 256 Bits Entropie unabhängig davon, wie viele Zeichen es darstellen. Denken Sie nicht „wie viele Zeichen", sondern „wie viel Sicherheit".
Zwei Ausgabezweige:
Byte-Kodierung (Standard — Eigenes Alphabet leer lassen). Erzeugt ceil(entropyBits/8) Zufallsbytes mit crypto.randomBytes() und zeigt dasselbe Material in drei Kodierungen nebeneinander — hex, base64, base64url — damit Sie die kopieren, die Ihr Konsument erwartet. Jedes Byte liefert 8 Bits Entropie, daher entspricht die gelieferte Entropie immer der Anforderung.
Eigenes Alphabet (Eigenes Alphabet ausfüllen). Sampelt crypto.randomInt(Alphabetgröße) pro Zeichen — internes Rejection-Sampling von Node, ohne Modulo-Bias, ohne manuelle Rejection-Schleife. Die tatsächliche Entropie ist Länge × log₂(Alphabetgröße) und kann geringer sein als angefordert (z. B. 32-Symbol-Alphabet × 10 Zeichen = 50 Bits, nicht 256); das Tool warnt in Rot, wenn dies passiert, denn ein kurzer String mit eigenem Alphabet kann deutlich schwächer sein, als er wirkt.
Warum drei Kodierungen nebeneinander? Ein 256-Bit-Schlüssel sind 64 Hex-Zeichen, ~44 base64 oder 43 base64url. Verschiedene Systeme erwarten verschiedene Formate; alle drei zu zeigen lässt Sie korrekt wählen ohne erneut auszuführen.
Anwendungsfälle: AES-256-Schlüssel, HMAC-Schlüssel, JWT-Signing-Secrets, API-Keys, Session-Secrets, jeder Wert, den ein Angreifer nicht erraten darf. crypto.randomBytes() und crypto.randomInt() ziehen aus dem OS-CSPRNG — niemals Math.random().