Zufallszahlengenerator
Optionen
Ausgabe
Technische Details
Wie der Zufallszahlengenerator funktioniert
Was das Tool macht
Der Zufallszahlengenerator erzeugt kryptografisch starke zufällige Ganzzahlen oder Gleitkommazahlen mithilfe der Web Crypto API (crypto.getRandomValues). Er verwendet Rejection Sampling, um Modulo-Bias zu vermeiden, und stellt so eine gleichmäßige Verteilung über jeden angegebenen Bereich sicher. Sie können einzelne Werte oder Stapel von Zufallszahlen mit konfigurierbaren Mindest-, Höchst- und Präzisionseinstellungen generieren.
Häufige Anwendungsfälle für Entwickler
Entwickler verwenden kryptografische Zufallszahlengeneratoren für sicherheitskritische Aufgaben wie das Erzeugen nicht erratbarer Session-Tokens, Nonces, Lotterieziehungen oder zufälliges Sampling aus Datensätzen. Spieleentwickler nutzen sie für Würfelwürfe und prozedurale Generierung, wenn Fairness wichtig ist. QA-Ingenieure erzeugen zufällige Testeingaben für Fuzz-Tests, und Data Scientists verwenden sie für zufälliges Sampling, wenn Reproduzierbarkeit nicht erforderlich ist.
Datenformate, Typen oder Varianten
Das Tool unterstützt die Erzeugung von Ganzzahlen innerhalb eines beliebigen Bereichs (inklusive Grenzen) sowie die Erzeugung von Gleitkommazahlen mit konfigurierbarer Dezimalpräzision. Rejection Sampling verwirft Werte, die Modulo-Bias verursachen würden, wenn der Bereich den Ausgaberaum der Zufallsquelle nicht gleichmäßig teilt. Die zugrunde liegende Entropie stammt aus dem CSPRNG des Betriebssystems (CryptGenRandom unter Windows, /dev/urandom unter Unix), bereitgestellt über die Web Crypto API des Browsers.
Häufige Fallstricke und Sonderfälle
Kryptografische Zufälligkeit ist langsamer als Math.random() und für nicht sicherheitsrelevante Zwecke wie das Mischen einer Playlist unnötig. Rejection Sampling kann theoretisch bei pathologischen Bereichen viele Male schleifen, in der Praxis ist das jedoch vernachlässigbar. Im Browser erzeugte Zufallszahlen können nicht für Reproduzierbarkeit gesät werden — wenn Sie deterministische Sequenzen für Tests benötigen, verwenden Sie stattdessen einen gesäten PRNG. Der maximale sichere Ganzzahlbereich ist durch JavaScripts Number.MAX_SAFE_INTEGER (2^53 - 1) begrenzt.
Wann dieses Tool statt Code verwenden
Verwenden Sie dieses Browser-Tool, wenn Sie schnell eine unverzerrte Zufallszahl für eine einmalige Entscheidung, manuelle Tests oder zur Überprüfung benötigen, dass Ihre eigene Implementierung Werte innerhalb erwarteter Bereiche erzeugt. Für den Produktionseinsatz rufen Sie crypto.getRandomValues() direkt in Ihrem Code auf oder verwenden Sie sprachspezifische CSPRNG-Funktionen (secrets-Modul in Python, SecureRandom in Java), die sich in das Fehlerhandling und Logging Ihrer Anwendung integrieren.