Du brauchst schnell einen Token für eine API, einen Webhook oder einen Passwort-Reset-Link? Dieser Token-Generator erstellt dir zufällige Tokens direkt im Browser – einen oder bis zu 50 auf einmal, mit eigener Länge, Zeichensatz und Präfix. Zur Einordnung: Das BSI legt in seiner Technischen Richtlinie TR-02102 ein Sicherheitsniveau von mindestens 120 Bit zugrunde. Ein alphanumerischer Token mit 32 Zeichen liegt bei rund 190 Bit, also deutlich darüber. Und weil nichts an einen Server geht, landet auch nichts in fremden Logs – praktisch, wenn du beim Thema DSGVO lieber gar nicht erst diskutieren willst.
Was ein Token-Generator ist, in einem Absatz
Ein Token ist eine nicht erratbare Zeichenfolge, mit der ein System etwas erkennt – eine API-Anfrage, eine Sitzung, einen Magic Link zum Einloggen, einen Passwort-Reset. Der Token Maker erzeugt solche Zeichenfolgen mit kryptografisch sicherem Zufall: Jedes Zeichen stammt aus crypto.getRandomValues, der Quelle, die OWASP für Session-IDs empfiehlt. Du wählst Länge, Zeichensatz und optional ein Präfix im Stil großer Anbieter; das Werkzeug erstellt einen Token oder gleich fünfzig.
Er ersetzt nicht den Passwort-Generator (der ist auf Passwörter zum Abtippen ausgelegt, mit Stärkeanzeige und Sichtbarkeitsschalter). Er ersetzt das Öffnen einer Node-REPL, um require('crypto').randomBytes(32).toString('hex') zu tippen.
So funktioniert der Token Maker
Zieh den Schieberegler auf die gewünschte Länge (8 bis 128 Zeichen). Wähl einen Zeichensatz – alphanumerisch ist der universelle Standard, Hex für URL-freundliche Zeichenfolgen, Base64-url für das, was JWTs und OAuth-Tokens verwenden, numerisch für Zahlencodes, Hex in Großbuchstaben, wenn ein System HEX in Großbuchstaben erwartet. Häng optional ein Präfix wie tk_, sk_live_ oder pk_ davor (bis zu 16 Zeichen) – Stripe hat das bekannt gemacht, moderne APIs nutzen es, weil das Präfix auf einen Blick verrät, was für ein Token das ist. Stell die Anzahl ein, wenn du mehrere Tokens auf einmal brauchst. Klick auf „Generieren“; kopier einzelne Tokens oder den ganzen Stapel.
Jedes Byte Zufall kommt aus crypto.getRandomValues. Nirgends steckt Math.random drin – das wäre vorhersagbar genug, um es in Sekunden zu knacken. Nichts verlässt deinen Browser; die Tokens, die du siehst, sind die einzige Kopie, die es gibt.
Gut zu wissen: Die Mindestlänge ist 8 Zeichen. Für sechsstellige Bestätigungscodes per SMS oder Authenticator-App nimmst du besser den OTP-Generator.
sk_test_, Länge 24, alphanumerisch. Heraus kommen 20 Tokens nach dem Muster sk_test_aB8cD9eF1gH2iJ3kL4mN5oP6. Ab damit in deine Fixture-Tabelle; bei rund 1043 möglichen Werten pro Token ist eine Kollision praktisch ausgeschlossen.
Was die Länge eines Tokens wirklich bedeutet
Bei der Sicherheit eines Tokens geht es nicht um die Länge, sondern um die Entropie. Ein alphanumerischer Token mit 32 Zeichen hat 6232 mögliche Werte, also rund 1057 (etwa 190 Bit). Selbst wenn ein Angreifer eine Billion Tokens pro Sekunde durchprobieren könnte, bräuchte er im Schnitt rund 1037 Jahre – unvorstellbar viel länger, als das Universum alt ist.
Für die meisten Zwecke sind 32 alphanumerische Zeichen ideal: lang genug, um nicht erraten zu werden, kurz genug, um im Log nicht die Zeile zu sprengen, und per Dreifachklick schnell kopiert. 64 Zeichen bringen keine echte Sicherheit dazu – nur mehr Speicher und mehr Durcheinander. Unter 16 Zeichen wird es für lohnende Ziele langsam angreifbar.
Welchen Zeichensatz du nehmen solltest
| Zeichensatz | Am besten für | Warum |
|---|---|---|
| Alphanumerisch | API-Schlüssel, Session-IDs | Universeller Standard – funktioniert überall, kein Escaping nötig |
| Hex (Kleinbuchstaben) | URLs, Dateinamen | URL-sicher, keine Verwechslung von Groß- und Kleinschreibung |
| Base64-url | JWTs, OAuth-Tokens | Größeres Alphabet = mehr Entropie pro Zeichen |
| Numerisch | Zahlencodes | Leicht auf einem Ziffernblock zu tippen |
| Hex (Großbuchstaben) | Maschinenlogs, Datenbank-IDs | Gut lesbar in Monospace; Standard in vielen Systemen |
Wofür das Präfix da ist
Ein Präfix wie tk_, sk_live_ oder ghp_ verrät jedem, der den Token in einem Log, in der Versionsverwaltung oder in einer Slack-Nachricht findet, um welche Art Geheimnis es sich handelt. Stripe hat diese Praxis bekannt gemacht – sk_ heißt Secret Key, pk_ Publishable Key, _live_ oder _test_ nennt die Umgebung. GitHub hat es übernommen (ghp_, gho_, ghs_), Slack macht es auch (xoxb-, xoxp-).
Eine Kleinigkeit, die im Ernstfall enorm viel Verwirrung erspart: Wenn ein Junior-Entwickler versehentlich einen Token in ein öffentliches Repo committet, sieht das Security-Team am Präfix in Sekunden, ob ein Live-Zahlungsschlüssel oder nur ein Sandbox-Token ausgetauscht werden muss. Die paar Zeichen extra lohnen sich.
Typische Fehler
Math.random verwenden. Verlockend, weil schnell getippt. Fatal, weil Math.random ein deterministischer Pseudozufallsgenerator ist – mit genug Stichproben kann ein Angreifer den nächsten Wert vorhersagen. Erzeuge Tokens nie mit Math.random. Der Token Maker nutzt aus genau diesem Grund ausschließlich crypto.getRandomValues.
Tokens im Klartext speichern. Tokens wirken wie Passwörter – sie gewähren Zugriff. Speichere sie auf dem Server gehasht (bcrypt, Argon2), schick sie dem Client einmal bei der Erstellung und lass den Client den Wert aufbewahren. Wird deine Datenbank geknackt, sind gehashte Tokens für den Angreifer wertlos.
Kein Ablaufdatum. Tokens, die nie ablaufen, sind ein Dauerrisiko. Setz immer ein Ablaufdatum (exp-Claim bei JWTs, sonst eine TTL in der Datenbankzeile) und stell regelmäßig neue aus.
Dasselbe Geheimnis in mehreren Umgebungen. Produktions-Tokens sollten sich von Staging unterscheiden und Staging von der Entwicklung. Die Präfix-Konvention hilft dabei – erzeugt deine Entwicklungsumgebung aus Versehen einen sk_live_-Token, ist das ein unübersehbares Warnsignal.
Verwandte Werkzeuge
Für Passwörter zum Abtippen mit Stärkeanzeige nimm den Passwort-Generator. Für eindeutige IDs (UUIDs) als Primärschlüssel in Datenbanken ist der UUID-Generator die richtige Wahl. Um einen Token vor dem Speichern zu hashen, deckt der SHA-256-Generator die meisten Fälle ab. Für Einmalcodes (TOTP / 2FA) gibt es den OTP-Generator. Für strukturierte, signierte Tokens mit Inhalt (JWTs) nimm den JWT-Token-Generator.