🌐 DE

🎲 Zufallsgenerator

Tool zum Erzeugen von UUIDs, zufälligen Zeichenfolgen, Sicherheitsschlüsseln und mehr. Nützlich für API-Schlüssel, temporäre Passwörter und die Token-Generierung – erzeugt Zufallszahlen auf kryptografisch sichere Weise.

Ergebnis
※ Eine UUID ist ein universell eindeutiger Bezeichner mit extrem geringer Duplikationswahrscheinlichkeit.
※ Die generierten Zufallszahlen werden auf kryptografisch sichere Weise erzeugt.
※ Kann für API-Schlüssel, temporäre Passwörter, Tokens und mehr verwendet werden.
RATGEBER

Mehr erfahren

01

1. Bedeutung von Zufallszahlen und CSPRNG

Zufallszahlen sind unvorhersehbare Werte, die für Verschlüsselung, Sicherheit, Spiele und Simulationen unverzichtbar sind. Standard-Zufallsgeneratoren erzeugen Pseudozufallszahlen mittels Algorithmen, wodurch sie vorhersehbar werden, sobald der Startwert (Seed) bekannt ist. Für sicherheitskritische Anwendungen sollte ein CSPRNG (Cryptographically Secure Pseudo-Random Number Generator) verwendet werden. Die PHP-Funktionen random_bytes() und random_int() sind CSPRNGs, die /dev/urandom oder CryptGenRandom nutzen. JavaScript stellt crypto.getRandomValues() bereit, das die Entropiequellen des Browsers nutzt. Das klassische Math.random() ist für sicherheitsrelevante Zwecke ungeeignet und darf niemals für Tokens, Session-IDs oder Verschlüsselungsschlüssel verwendet werden.

02

2. UUID und eindeutige Bezeichner

Eine UUID (Universally Unique Identifier) ist ein 128-Bit-eindeutiger Bezeichner mit extrem geringer Kollisionswahrscheinlichkeit. UUID v4 ist vollständig zufällig und am weitesten verbreitet. Das Format lautet xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx, wobei 4 die Version und y die Variante angibt. UUID v1 basiert auf Zeitstempel und MAC-Adresse, was eine chronologische Sortierung ermöglicht, aber MAC-Adressen offenlegt – ein Sicherheitsrisiko. UUID v7 ist die neueste Version, ebenfalls zeitstempelbasiert, jedoch ohne Offenlegung persönlicher Informationen. Die Verwendung von UUIDs als Primärschlüssel in Datenbanken, Dateinamen, Session-IDs und in verteilten Systemen gewährleistet Eindeutigkeit ohne zentrale Koordination.

03

3. Generierung von Sicherheitsschlüsseln und Tokens

API-Schlüssel, Authentifizierungs-Tokens und Session-IDs müssen ausreichend Entropie besitzen. Ein Minimum von 128 Bit (16 Byte) wird empfohlen, wobei 256 Bit (32 Byte) sicherer sind. Die Base64-Kodierung wandelt sie in URL-sichere Zeichenfolgen um. Ein JWT (JSON Web Token) besteht aus Header, Payload und Signatur und enthält die Informationen direkt im Token selbst. CSRF-Tokens verhindern Cross-Site-Request-Forgery, indem in jedem Formular ein eindeutiges Token enthalten ist. Der state-Parameter von OAuth 2.0 ist ebenfalls ein Zufallswert zur CSRF-Prävention. Tokens sollten entweder einmalig (Nonce) sein oder über eine Ablaufzeit verfügen, um Replay-Angriffe zu verhindern.

04

4. Implementierung kryptografischer Zufallsgeneratoren

Betriebssysteme sammeln Entropie aus Hardware-Rauschen, dem Timing von Tastatur/Maus, Netzwerkpaketen und mehr. Linux stellt /dev/random (blockierend) und /dev/urandom (nicht blockierend) bereit. /dev/random wartet bei unzureichender Entropie, was in Serverumgebungen problematisch sein kann. Moderne Kernel empfehlen den Systemaufruf getrandom(). Windows verwendet CryptGenRandom (veraltet) oder BCryptGenRandom (modern). Hardware-Zufallsgeneratoren (HRNG) nutzen Intel-RDRAND-Befehle oder TPM-Chips, um echten Zufall zu erzeugen. Cloud-Umgebungen leiden aufgrund der Virtualisierung unter Entropieknappheit und setzen daher Daemons wie haveged ein.

05

5. Zufallszahlen in Blockchain und Smart Contracts

Blockchains sind deterministische Umgebungen, was die Erzeugung von Zufallswerten erschwert. Alle Knoten müssen dasselbe Ergebnis überprüfen können, weshalb klassische Zufallszahlen nicht verwendet werden können. Die Nutzung von Block-Hashes als Zufallsquelle ermöglicht eine Manipulation durch Miner. Chainlink VRF (Verifiable Random Function) liefert überprüfbaren Zufall für On-Chain-Lotterien und das Minting von NFTs. Bei Commit-Reveal-Verfahren reichen Teilnehmer zunächst einen Hash ein (Commit) und enthüllen später das Original (Reveal), um Manipulation zu verhindern. Random Beacon ist ein öffentlicher Zufallsdienst, der vom NIST oder dem drand-Projekt bereitgestellt wird. Spiele auf Basis von Smart Contracts benötigen vertrauenswürdigen Zufall.

06

6. Praktische Anwendungen von Zufallsgeneratoren

Online-Zufallsgeneratoren dienen den unterschiedlichsten Zwecken. Die Ausstellung von API-Schlüsseln erfordert ausreichende Länge (32+ Zeichen) und Komplexität. Temporäre Passwörter kombinieren Zahlen, Buchstaben und Sonderzeichen und sind nur einmalig gültig. Bei Gutscheincodes bevorzugt man benutzerfreundliche Kombinationen aus Großbuchstaben und Zahlen (z. B. AB12-CD34-EF56). Einladungscodes verwenden kurze, leicht merkbare 6-8 Zeichen. Kombinationen aus Zeitstempel und Zufall vermeiden Namenskollisionen bei Dateien. Die Verwendung von UUIDs als Sharding-Schlüssel in Datenbanken überwindet die Grenzen automatisch inkrementierter IDs. Auch die Zuweisung von A/B-Testgruppen gewährleistet durch Zufall Fairness. Es ist stets wichtig, den passenden Zufallsgenerator entsprechend den Sicherheitsanforderungen zu wählen.