Zufallszeichenketten-Generator
Sichere Zufallszeichenketten mit benutzerdefinierten Zeichensätzen.
🔒 100 % clientseitig — Zeichenketten werden mit crypto.getRandomValues erzeugt und nie gespeichert
Zeichensätze
Ergebnisse
Erzeugen Sie kryptografisch sichere Zufallszeichenketten mit voller Kontrolle über Länge, Anzahl und Zeichensatz. Kombinieren Sie Klein- und Großbuchstaben, Ziffern, Symbole und Hex, fügen Sie eigene Zeichen hinzu und entfernen Sie verwechselbare Ähnlichkeiten mit einem einzigen Umschalter. Gedacht für Entwickler, die Tokens, IDs und Testdaten brauchen, sowie für alle, die schnell einen Stapel zufällig wirkender Werte benötigen.
Wie der Generator Zufall erzeugt
Der Generator ruft nie Math.random auf. Jedes Zeichen wird über die Web Crypto API mit crypto.getRandomValues gezogen, die kryptografisch starke Bytes liefert. Ein Zeichen durch Nehmen eines Bytes modulo der Alphabetgröße zu bestimmen, würde die ersten Zeichen bevorzugen. Deshalb verwendet der Code stattdessen Rejection Sampling: Er berechnet das größte Vielfache der Alphabetgröße, das in einen Byte-Bereich passt, und verwirft jedes Byte darüber, bis ein gültiges Byte vorliegt. Das gewählte Byte wird dann modulo der Alphabetgröße reduziert. Praktisch bedeutet das, dass jedes Zeichen exakt dieselbe Wahrscheinlichkeit hat — genau richtig für Tokens, Nonces und Testdaten.
Praxisbeispiel: ein 16-Zeichen-Token
Belassen Sie die Standardeinstellungen, erhalten Sie Kleinbuchstaben, Großbuchstaben und Ziffern — ein 62-Zeichen-Alphabet — bei einer Länge von 16. Ein Durchlauf könnte Folgendes liefern:
K7mQ2vXp9RaTZ4bH
Das sind 16 Zeichen. Die Entropie beträgt 16 mal log2(62), also grob 95 Bit, weit mehr als für eine Sitzungskennung nötig. Aktivieren Sie nur Hex, schrumpft das Alphabet auf 16 Zeichen, sodass dieselbe Länge von 16 nur 64 Bit trägt. Um die Standardstärke mit Hex zu erreichen, bräuchten Sie 24 Zeichen, da log2(16) 4 Bit pro Zeichen ergibt und 95 geteilt durch 4 aufgerundet 24 ergibt.
Zeichensätze und Entropie
Die fünf eingebauten Sätze werden bei Auswahl kombiniert:
| Satz | Größe | Hinweise |
|---|---|---|
| Kleinbuchstaben | 26 | a–z |
| Großbuchstaben | 26 | A–Z |
| Ziffern | 10 | 0–9 |
| Symbole | 27 | Satzzeichen wie ! @ # $ % und Klammern |
| Hex | 16 | 0–9 und a–f |
Die Entropie pro Zeichen ist der Logarithmus zur Basis 2 der Alphabetgröße, wächst also mit jedem aktivierten Satz. Die Gesamtentropie ist dieser Wert multipliziert mit der Länge. Sie können also Länge gegen Alphabetbreite tauschen: Eine 20 Zeichen lange Zeichenkette aus dem vollen Alphabet und eine längere Hex-Zeichenkette können dieselbe Stärke erreichen. Das Tool begrenzt jede Zeichenkette auf 1000 Zeichen und jeden Stapel auf 100 Zeichenketten.
Eigene Zeichen und Mehrdeutigkeitsfilter
Das Feld für eigene Zeichen wird mit den angehakten Sätzen zusammengeführt, danach wird das gesamte Alphabet dedupliziert. Das ist nützlich, wenn ein nachgelagertes System nur eine schmale Teilmenge an Satzzeichen erlaubt oder wenn Sie eine bestimmte Präfixgruppe brauchen. Der Umschalter zum Ausschließen mehrdeutiger Zeichen entfernt I, l, 1, O und 0 aus dem endgültigen Alphabet. Er ist für Werte gedacht, die ein Mensch vorliest oder abtippt — Empfehlungscodes, Einmalcodes, Lizenzschlüssel —, wo die Verwechslung von großem I mit kleinem l oder Null mit O echte Support-Tickets verursacht.
Häufige Fehler
- Eindeutigkeit erwarten. Zufall verhindert Vorhersagbarkeit, nicht Kollisionen. Zwei Zeichenketten in einem Stapel von 100 können übereinstimmen, besonders bei kleinem Alphabet.
- Die Standardeinstellung ungeprüft für Geheimnisse verwenden. Der Standard ist stark, eine kurze reine Hex-Zeichenkette aber nicht. Passen Sie Alphabet und Länge an die Bedrohung an.
- Vergessen, dass das eigene Feld gefiltert wird. Geben Sie
IO10als eigene Zeichen ein und lassen den Mehrdeutigkeitsfilter an, werden alle vier entfernt, und Sie lösen möglicherweise den Fehler wegen eines leeren Zeichensatzes aus. - Nur eine Zeichenkette kopieren, obwohl der Stapel gebraucht wurde. Die Schaltfläche zum Kopieren aller Einträge verbindet den Stapel mit Zeilenumbrüchen; einzelne Kopierschaltflächen gelten pro Zeile.
- Ausgabe als gespeichert betrachten. Nichts wird gespeichert, kopieren Sie also, was Sie brauchen, bevor Sie die Seite verlassen.
Wofür sich diese Zeichenketten eignen
- Sitzungs- und API-Tokens. Eine 32 Zeichen lange Zeichenkette aus dem vollen Alphabet trägt rund 190 Bit, mehr als genug für ein Bearer-Token in Entwicklung und Test.
- Testdaten und Seeds. Erzeugen Sie 100 IDs auf einmal und fügen Sie sie in eine Testdatei ein, um Längen- und Zeichensatzvalidierung zu prüfen.
- Empfehlungs- und Gutscheincodes. Aktivieren Sie Großbuchstaben und Ziffern, schalten Sie den Mehrdeutigkeitsfilter ein und wählen Sie eine Länge, die sich am Telefon leicht diktieren lässt.
- Salt- und Nonce-Werte. Eine reine Hex-Zeichenkette mit 32 Zeichen ergibt 128 Bit und passt sauber in Hashing-Bibliotheken.
- Platzhalter-Geheimnisse in Beispielen. Erzeugen Sie realistisch wirkende Werte für die Dokumentation, ohne etwas Echtes preiszugeben.
Für sicherheitskritische Arbeit erzeugen Sie mit der Krypto-Quelle des Browsers und speichern das Ergebnis in einem Secrets Manager. Der Generator selbst ist die richtige Art von Zufall, doch ein in eine Datei übernommener oder in ein Ticket eingefügter Wert ist nicht mehr geheim, sobald er geteilt wird. Bemessen Sie die Zeichenkette auch an ihrer Lebensdauer: Ein Code, der in fünf Minuten abläuft, braucht weit weniger Bits als einer, der ein Jahr lebt.
Länge und Alphabet sind beide wichtig, und es ist leicht, das eine zu überziehen und das andere zu unterversorgen. Eine lange Zeichenkette aus nur Ziffern hat eine große Gesamtentropie, aber jede Stelle ist dennoch nur eine von zehn Möglichkeiten und damit leicht zu erraten. Was den gesamten Wert schützt, ist das Ganze, also bevorzugen Sie ein breites Alphabet mit vernünftiger Länge gegenüber extremer Länge mit schmalem Alphabet. Die Obergrenzen des Tools dienen der Reaktionsfähigkeit: 1000 Zeichen ist die längste einzelne Zeichenkette, die die Seite baut, und 100 ist der größte Stapel, den sie auf einmal darstellt.
Verwandte Tools
- Passwort-Generator — Starke Passwörter mit einstellbaren Regeln erzeugen.
- Zufallszahlengenerator — Zufallszahlen in einem gewünschten Bereich erzeugen.
- UUID-Generator — Kollisionsfreie UUIDs für Systeme und Datenbanken erstellen.
- Hash-Generator — Prüfsummen und Hashes mit gängigen Algorithmen berechnen.
Häufig gestellte Fragen
Was genau bewirkt das Rejection Sampling hier?
Für jedes Zeichen zieht der Generator ein zufälliges Byte zwischen 0 und 255. Liegt das Byte über dem größten Vielfachen der Zeichensatzgröße, wird es verworfen und ein weiteres Byte gezogen. Das beseitigt den Modulo-Bias, der beim bloßen Nehmen von byte % Größe entsteht, sodass jedes Zeichen im Satz gleich wahrscheinlich ist.
Was ist der Standard-Zeichensatz, und wie stark ist die Standardausgabe?
Kleinbuchstaben, Großbuchstaben und Ziffern sind standardmäßig aktiv, was ein 62-Zeichen-Alphabet ergibt. Die Standardlänge beträgt 16, das sind etwa 95 Bit Entropie (16 mal log2 von 62). Aktivieren Sie Symbole oder erhöhen Sie die Länge, wenn Sie mehr brauchen.
Kann ich Hex mit Großbuchstaben oder Ziffern kombinieren?
Ja. Jeder ausgewählte Satz wird zusammengeführt und Duplikate werden über eine Menge entfernt, sodass Hex plus Ziffern die zehn Ziffern nur einmal beisteuert. Das endgültige Alphabet ist dedupliziert, was die Verteilung gleichmäßig hält.
Gilt der Filter für mehrdeutige Zeichen auch für meine eigenen Zeichen?
Ja. I, l, 1, O und 0 werden aus dem endgültigen kombinierten Alphabet entfernt, nachdem die eigenen Zeichen eingefügt wurden. Ein eigener Satz, der diese Zeichen enthält, verliert sie also ebenfalls, wenn die Option aktiv ist.
Sind die erzeugten Zeichenketten garantiert eindeutig?
Nein. Zufällige Erzeugung kann kollidieren, und die Wahrscheinlichkeit steigt mit wachsendem Stapel oder schrumpfendem Alphabet. Für kollisionsfreie Bezeichner nutzen Sie besser einen UUID-Generator; bei Testdaten behandeln Sie Duplikate als erwartbar und deduplizieren selbst.
Warum erhalte ich einen Fehler wegen eines leeren Zeichensatzes?
Er bedeutet, dass keine Zeichenquelle etwas geliefert hat. Das passiert, wenn alle Kontrollkästchen aus und das eigene Feld leer sind, oder wenn die einzigen gelieferten Zeichen mehrdeutige waren, die der Filter danach entfernt hat.
Geprüft vom HandyTools-Hub-Team · Zuletzt aktualisiert