RNG — Zufallszahlengenerator

RNG in drei Buchstaben: eine Zufallszahl, sofort.

—
Optionen

RNG steht für random number generator und meint in der Programmierung meist Pseudozufall: ein deterministischer Algorithmus mit Startwert. Die Unterscheidung zählt, denn ein PRNG mit Seed taugt für ein Spiel und für nichts Sicherheitsrelevantes.

Diese Seite nutzt die kryptografische Quelle des Browsers – die ehrliche Antwort auf „gib mir eine Zufallszahl“, wenn kein Seed-Zustand dahintersteht. Wer den Code sucht, findet unten die zwei klassischen Fehler.

So funktioniert es

  1. Den Bereich einstellen; 1-100 passt unverändert.
  2. Beliebig oft erzeugen.
  3. Vor dem Kopieren fremder Snippets den technischen Hinweis lesen.

Die zwei Fehler in fast jedem RNG-Snippet

Der erste ist Math.floor(Math.random() * n) + 1: sieht richtig aus, nutzt aber einen nicht kryptografischen PRNG und verliert bei großen Bereichen Präzision. Der zweite ist % n auf das Ergebnis von crypto.getRandomValues(), was Modulo-Bias einführt, wenn n die 2^32 nicht teilt, und die niedrigen Werte leicht bevorzugt.

Das korrekte Muster ist Rejection Sampling: 32 Bit ziehen, alles oberhalb des größten Vielfachen von n verwerfen und den Rest abbilden. Das kostet gelegentlich eine neue Ziehung und beseitigt die Verzerrung vollständig. Pythons secrets.randbelow(n) macht das bereits; in JavaScript muss man es schreiben.

Geprüft am 2026-10-21. Dieses Werkzeug läuft vollständig in Ihrem Browser – kein Server, kein Konto, und nichts Erzeugtes wird gespeichert.

Häufige Fragen

Wofür steht RNG?

Random number generator. Mit kryptografischer Quelle heißt es CSPRNG und startet nicht aus einer Formel mit Seed, sondern aus dem Entropiepool des Systems.

Ist das echter Zufall?

Nein. Echter Zufall braucht eine physikalische Quelle. Das hier ist ein kryptografischer Pseudozufall, vom System initialisiert – dieselbe Art, die Browser und Server für TLS nutzen.

Wie macht man das in JavaScript?

Mit crypto.getRandomValues und Rejection Sampling, wie oben beschrieben. Für Zwecke ohne Sicherheitsbezug reicht Math.random(); für Tokens, Passwörter oder alles, was nicht vorhersagbar sein darf, nicht.

Verwandte Werkzeuge

Mehr aus Zufallszahlen.