Random Token Generator
Random Token Generator
Kryptographisch sichere Tokens, API-Keys, UUIDs und Passwörter generieren. Mit Web Crypto API, Batch-Modus und Entropie-Analyse – 100% lokal.
Kryptographische Sicherheit: Alle Tokens werden mit der Web Crypto API und crypto.getRandomValues() generiert – das ist die sicherste Zufallsquelle im Browser. Keine Daten verlassen dein Gerät, keine Server-Kommunikation.
Inhaltsverzeichnis
Schnellübersicht
- Token-Generator: Hex, Base64, Base64URL, Alphanumeric
- UUID v4: RFC 4122 konforme UUIDs
- Passwort-Modus: Mit Symbolen und Komplexität
- Batch-Modus: Bis zu 50 Tokens auf einmal
- Entropie-Analyse: Bit-Stärke und Sicherheit
- Theorie: Über kryptographische Zufallsquellen
- Geschichte: Von /dev/random zu Web Crypto
- FAQ: Häufige Fragen zu Tokens
1. Token Generator
Wähle einen Modus und die gewünschte Länge – der Token wird sofort generiert.
| Byte-Länge | Bit-Entropie | Zeichen (Hex) | Sicherheit | Verwendung |
|---|---|---|---|---|
| 8 Byte | 64 Bit | 16 Zeichen | ⚠️ Minimum | Session-IDs (kurz) |
| 16 Byte | 128 Bit | 32 Zeichen | ✓ Standard | API-Keys, CSRF-Tokens |
| 32 Byte | 256 Bit | 64 Zeichen | ✓✓ Empfohlen | API-Keys, JWT-Secrets |
| 64 Byte | 512 Bit | 128 Zeichen | ✓✓✓ Maximum | Kryptographische Schlüssel |
Was ist ein Token?
Ein Token ist eine zufällige Zeichenfolge für Authentifizierung und Autorisierung:
- API-Key: Zugang zu APIs
- Session-Token: Benutzer-Sitzung
- CSRF-Token: Schutz vor Cross-Site-Requests
- Password-Reset: Einmalige Links
- JWT-Secret: Signatur von Tokens
Warum kryptographisch sicher?
Normale Zufallsfunktionen sind NICHT sicher:
- Math.random(): Vorhersagbar
- Zeitbasiert: Angreifbar
- Pseudo-Zufall: Rekonstruierbar
Web Crypto API:
- crypto.getRandomValues(): CSPRNG
- Kryptographisch sicher: Nicht vorhersagbar
- Hardware-Entropie: Echte Zufallsquelle
Entropie berechnen
Bit-Entropie = Länge × log₂(Zeichenvorrat)
- Hex: 4 Bit pro Zeichen
- Base64: 6 Bit pro Zeichen
- Alphanumerisch: ~5,95 Bit pro Zeichen
- Alle ASCII: ~6,57 Bit pro Zeichen
Sicherheit nach Bit-Entropie:
- <64 Bit: Unsicher
- 128 Bit: Standard
- 256 Bit: Empfohlen
Best Practices
- Mindestens 128 Bit: 16 Bytes Hex oder 22 Zeichen Base64
- 256 Bit empfohlen: Für API-Keys und Secrets
- Nie wiederverwenden: Jeder Token nur einmal
- Ablaufdatum: Tokens zeitlich begrenzen
- Rotation: Regelmäßig erneuern
- Sichere Speicherung: Nur als Hash speichern
- HTTPS: Immer verschlüsselt übertragen
- Ein 256-Bit-Token hat 2256 Möglichkeiten – das ist mehr als Atome im beobachtbaren Universum (~1080).
- Der Web Crypto API
crypto.getRandomValues()ist die sicherste Zufallsquelle im Browser. - Jeder moderne Browser hat einen CSPRNG (Cryptographically Secure Pseudo-Random Number Generator).
- UUID v4 hat 122 Bit Zufall – ausreichend für die meisten Zwecke, aber nicht für kryptographische Schlüssel.
- Bei einem 128-Bit-Token müsste ein Angreifer 1020 Jahre rechnen, um ihn zu erraten.
2. Geschichte der Zufallszahlen
Von /dev/random zu Web Crypto – die Evolution sicherer Zufallsquellen.
Erste Zufallsgeneratoren
John von Neumann entwickelt die erste computergestützte Zufallsfunktion. Die "Middle-Square-Methode" – unsicher, aber bahnbrechend.
/dev/random in Unix
Unix führt /dev/random und /dev/urandom ein. Erste echte kryptographische Zufallsquelle in Betriebssystemen – basiert auf Hardware-Events.
RFC 1750 – Zufallsrichtlinien
Die IETF veröffentlicht RFC 1750 – Empfehlungen für sichere Zufallsgeneratoren in Netzwerken. Erste Standardisierung.
RFC 4086 – Randomness Requirements
RFC 4086 definiert Anforderungen an kryptographische Zufallsquellen. Empfehlungen für Entropie-Quellen und CSPRNGs.
Web Crypto API
Die W3C Web Crypto API wird standardisiert. Browser erhalten Zugriff auf crypto.getRandomValues() – kryptographisch sicher im Browser.
Heartbleed
Die Heartbleed-Lücke in OpenSSL zeigt, wie kritisch sichere Zufallsquellen sind. Angreifer konnten private Schlüssel auslesen.
Standard in Web-Apps
crypto.getRandomValues() ist der Standard für sichere Tokens in Web-Anwendungen. Moderne Browser haben integrierte Hardware-Entropie.
3. FAQ – Häufige Fragen
Häufige Fragen zu Tokens
Ein sicherer Token ist eine zufällige Zeichenfolge, die nicht vorhersagbar ist:
- Kryptographisch sicher: Basiert auf CSPRNG
- Mindestens 128 Bit: 16 Bytes oder 22 Base64-Zeichen
- Nicht vorhersagbar: Keine Muster erkennbar
- Einmalig: Nie wiederverwendet
- Zeitlich begrenzt: Mit Ablaufdatum
Nicht sichere Quellen:
Math.random()– vorhersagbar- Zeitbasierte Tokens – angreifbar
- Kurze Tokens – brute-force-angreifbar
- Sequenzielle IDs – aufzählbar
Empfehlungen nach Anwendung:
| Anwendung | Länge | Entropie |
|---|---|---|
| Session-IDs | 16 Bytes | 128 Bit |
| CSRF-Tokens | 16 Bytes | 128 Bit |
| API-Keys | 32 Bytes | 256 Bit |
| JWT-Secrets | 32 Bytes | 256 Bit |
| Password-Reset | 32 Bytes | 256 Bit |
| Kryptographische Keys | 64 Bytes | 512 Bit |
Faustregel: Mindestens 128 Bit, besser 256 Bit.
Übertreibung: 512+ Bit sind für die meisten Zwecke übertrieben.
Math.random() ist eine Pseudo-Zufallsfunktion:
- Deterministisch: Gleicher Seed = gleiche Ausgabe
- Vorhersagbar: Bei bekannter Sequenz vorhersagbar
- Nicht kryptographisch: Nicht für Sicherheit gedacht
- Seed-basiert: Kann zurückgerechnet werden
Angriffs-Szenario:
- Angreifer beobachtet mehrere Tokens
- Rekonstruiert den Seed
- Berechnet zukünftige Tokens
- Kapert Benutzer-Sessions
Sicher: crypto.getRandomValues() – nicht vorhersagbar.
Best Practices für Server:
- Nur Hash speichern: Wie Passwörter
- SHA-256: Hash der Tokens
- Nicht den Token selbst: Nur Hash in DB
- Bei Login: Hash vergleichen
Warum Hash?
- Bei DB-Leak: Tokens nicht direkt nutzbar
- Tokens = wie Passwörter behandeln
- Kein Klartext in Logs
- DSGVO-konform
Client-Seite:
- HttpOnly Cookies: Nicht per JS lesbar
- Secure Flag: Nur über HTTPS
- SameSite=Strict: CSRF-Schutz
- Nicht in localStorage: XSS-anfällig
| Merkmal | Token | Passwort |
|---|---|---|
| Erzeugung | Maschinell | Vom Benutzer |
| Länge | Fest (128-256 Bit) | Variabel (8-64 Zeichen) |
| Entropie | Hoch (256 Bit) | Meist niedrig |
| Verwendung | Session, API | Login |
| Ablauf | Kurz (Minuten-Stunden) | Lang (Monate) |
| Speicherung | Hash in DB | Hash + Salt |
| Wiederverwendung | Nie | Möglich |
Token: Für Maschinen-zu-Maschine-Kommunikation und Sessions.
Passwort: Für Menschen, die sich anmelden.
UUID (Universally Unique Identifier) ist ein 128-Bit-Identifier:
- Format:
xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx - Version 4: Komplett zufällig
- 122 Bit Zufall: Nicht 128 (Versions-Info)
- Kollisionswahrscheinlichkeit: Praktisch null
Beispiel:
550e8400-e29b-41d4-a716-446655440000
Verwendung:
- Datenbank-Primärschlüssel
- Dateinamen
- Session-IDs
- Message-IDs
Nicht für Krypto: UUIDs sind nicht für kryptographische Schlüssel geeignet (nur 122 Bit).
Empfohlene Rotationsintervalle:
| Token-Typ | Rotation |
|---|---|
| Session-Tokens | Bei jedem Login + täglich |
| API-Keys | Alle 90 Tage |
| JWT-Secrets | Alle 6-12 Monate |
| Password-Reset | Nach Gebrauch (einmalig) |
| CSRF-Tokens | Pro Formular |
| Refresh-Tokens | Bei jeder Nutzung |
Nach Sicherheitsvorfall:
- Sofort alle Tokens rotieren
- Betroffene Benutzer informieren
- Logs prüfen auf Missbrauch
Ja, Web Crypto ist kryptographisch sicher:
- CSPRNG: Cryptographically Secure PRNG
- Hardware-Entropie: Echte Zufallsquelle
- W3C-Standard: Von allen Browsern implementiert
- Nicht vorhersagbar: Selbst bei bekannter Sequenz
- Sicherer als Math.random(): Um Größenordnungen
Wichtig:
- Immer HTTPS: Tokens verschlüsselt übertragen
- Nicht in Logs: Tokens nicht loggen
- Hash speichern: Nur Hash in DB
- Ablaufdatum: Tokens zeitlich begrenzen
Vertrauen: Web Crypto ist vertrauenswürdig für Produktionssysteme.
Zusammenfassung
Die wichtigsten Punkte
- Token: Zufällige Zeichenfolge für Auth/Autorisierung
- crypto.getRandomValues(): Kryptographisch sichere Zufallsquelle
- 128 Bit Minimum: Standard für die meisten Anwendungen
- 256 Bit Empfohlen: Für API-Keys und Secrets
- Math.random(): Nie für Sicherheit verwenden!
- UUID v4: 122 Bit Zufall, gut für IDs (nicht für Krypto)
- Speicherung: Nur Hash in der Datenbank
- Transport: Immer über HTTPS
- Rotation: Regelmäßig erneuern (90 Tage)
- Unser Tool: Sicherer Token-Generator mit Web Crypto
Weitere Sicherheits-Tools
AES-GCM Verschlüsselung mit PBKDF2 und Web Crypto API.
Zum ToolPasswörter mit bcrypt hashen und verifizieren.
Zum ToolSichere Passwörter mit Entropie-Analyse und Komplexität.
Zum ToolMD5, SHA-1, SHA-256 und SHA-512 für Text und Dateien.
Zum Tool