PK Systems PK Systems
Generatoren

Zufallszahlen-Generator

Erzeugen Sie zufällige Zahlen, Listen oder Sequenzen — mit Bereich, Anzahl, Eindeutigkeit und kryptografisch fairer Zufallsquelle.

Zufallszahlen-Generator

Ergebnis

Was dieses Tool macht

Erzeugt zufällige ganze Zahlen in jedem Bereich, in jeder Menge von 1 bis 10.000. Schalte um, ob Duplikate erlaubt sind (aus für Lotterie-artige Einzelzüge, an für Würfel- oder Münzsequenzen), wähle, ob die Ausgabe aufsteigend sortiert oder gemischt sein soll, und such dir das Format aus – eine Zahl pro Zeile, kommagetrennt für Tabellenkalkulationen, leerzeichengetrennt für schnelles Einfügen in der Kommandozeile oder als JavaScript-Array-Literal für Code. Der Zufall ist sauber gleichverteilt: Wir nutzen crypto.getRandomValues() mit Verwerfungsstichproben (Rejection Sampling), um den Modulo-Bias von Math.random() % range zu eliminieren. Für eindeutige Züge in dichten Bereichen läuft ein partielles Fisher-Yates-Mischen; für dünne Bereiche ein Hash-Set mit Wiederholungen. Das Ganze läuft lokal – kein Upload, kein Logging, kein Rate-Limit.

So funktioniert es

Lege ein Min und ein Max fest – sie können negativ, null oder beliebig sein. Bestimme, wie viele Zahlen du brauchst. Entscheide, ob Duplikate erlaubt sind (aus für Verlosungen, an für mehrfaches Würfeln). Entscheide, ob aufsteigend sortiert wird. Wähle ein Format: Zeilen, Komma, Leerzeichen oder Array. Klick Generieren. Das Ergebnis erscheint im Panel; bei einer Zahl wird sie groß angezeigt, bei vielen in einem scrollbaren Codeblock. Mit Kopieren landet alles in deiner Zwischenablage. Ein erneuter Lauf mit denselben Einstellungen liefert jedes Mal einen frischen Zug – einen Seed gibt es nicht.

So funktioniert der Zufall

Jeder Zug entnimmt eine 32-Bit-Ganzzahl aus crypto.getRandomValues() und verwirft jeden Zug oberhalb von floor(2^32 / range) * range. Der akzeptierte Zug modulo range plus min ist deine Zahl – nachweislich gleichverteilt über den gesamten Bereich. Für eindeutige Züge gibt es zwei Strategien: Ist der Bereich dicht genug (≤ 200.000 Werte), bauen wir den vollständigen Pool auf und mischen die ersten count Einträge per partiellem Fisher-Yates – das ist O(count), nicht O(range). Ist der Bereich spärlich und groß, nutzen wir ein Hash-Set mit Wiederholungen – durch das Limit von 10.000 explodieren die Wiederholungen nie. Sortieren (falls aktiviert) ist ein abschließender aufsteigender Durchlauf.

Übliche Einstellungen

Ein paar Beispielkombinationen, mit denen du loslegen kannst.

Verwenden Einstellungen
Lottozahlen (5 aus 49)Min 1, Max 49, Anzahl 5, Duplikate aus, Sortieren an
Münzsequenz (10 Würfe)Min 0, Max 1, Anzahl 10, Duplikate an
Zufälliges Farb-ByteMin 0, Max 255, Anzahl 1
3 Gewinner aus 100 ziehenMin 1, Max 100, Anzahl 3, Duplikate aus

Häufig gestellte Fragen

Ist es wirklich zufällig?
Ja – nachweislich gleichverteilt. Wir nutzen crypto.getRandomValues() mit Verwerfungsstichproben, dem Standard-CSPRNG-Verfahren für unverzerrte Ganzzahl-Bereiche.
Warum mehr Eindeutige verlangen, als der Bereich hergibt?
Das Tool fängt das ab und zeigt einen Fehler – aus einem Bereich von 5 lassen sich keine 10 eindeutigen Zahlen ziehen. Schalte entweder Duplikate ein oder erweitere den Bereich.
Kann ich den RNG seeden?
Nein. CSPRNGs lassen sich per Design nicht für Reproduzierbarkeit seeden – das würde die Sicherheitsgarantie aushebeln. Wenn du reproduzierbare „Zufalls“-Ausgaben für Tests brauchst, nutze im Code eine seedbare PRNG-Bibliothek.
Was ist die maximale Anzahl?
10.000 pro Lauf. Darüber hinaus wird die Ausgabe im Browser unhandlich; für größere Züge führe das Tool mehrfach aus oder erzeuge sie serverseitig.
Funktioniert es mit negativen Zahlen?
Ja. Min und Max können beliebige ganze Zahlen sein, positiv oder negativ. Der Bereich ist max − min + 1, also achte darauf, dass max ≥ min ist.
Wird etwas übers Netzwerk gesendet?
Nein. Die Erzeugung läuft in deinem Browser. Die Ausgabe bleibt lokal, bis du sie kopierst.