Zufallszahlengenerator
crypto.getRandomValues · gleichmäßig · im Browser
crypto.getRandomValues. Die Seite verwendet Rejection-Sampling, sodass das Ergebnis über jeden Bereich gleichverteilt ist — keine Modulo-Verzerrung. Konfigurierbar: Bereich, Anzahl, Dezimalstellen, Sortierreihenfolge, Ausgabe-Trenner und ein Nur-Eindeutig-Modus.Warum das "echt zufällig" ist
Browser bieten zwei Zufallsquellen: Math.random(), einen schnellen, aber pro Lauf deterministischen Pseudo-Zufallsgenerator, und crypto.getRandomValues(), einen kryptographisch sicheren RNG, der vom Entropie-Pool des Betriebssystems geseedet wird — dieselbe Quelle, die zur Generierung von TLS-Sitzungsschlüsseln verwendet wird. Diese Seite verwendet letztere für jeden Wert, den Sie ziehen.
Modulo-Verzerrung vermeiden
Naive „Ganzzahl-aus-RNG"-Implementierungen machen rand() % n — das gibt dem unteren Ende des Bereichs etwas mehr Gewicht, wenn n die RNG-Wortgröße nicht gleichmäßig teilt. Die Verzerrung ist klein, aber real und über Millionen von Ziehungen trivial nachweisbar.
Dezimal-Modus
Wenn Sie Dezimalzahlen anfordern, zieht die Seite einen gleichverteilten Wert in [0, 1) aus 53 Bits von crypto.getRandomValues und skaliert ihn in den geforderten Bereich. Bis zu 15 Stellen Genauigkeit sind verfügbar — das praktische Limit der IEEE-754-Doppelpräzisions-Floats, was JavaScript-Zahlen sind.
Eindeutig-Modus
Mit aktivierten Keine Duplikate verwendet die Seite ein partielles Fisher–Yates-Mischen des Ganzzahlbereichs, was gleichverteilte eindeutige Auswahlen garantiert — der Standardansatz für faires Sampling ohne Zurücklegen (derselbe Algorithmus wird zum Mischen von Karten oder zum Ziehen einer Lotterie ohne Wiederholungen verwendet).
Datenschutz
Jeder Wert wird lokal generiert. Die Seite stellt nach dem ersten statischen Laden keine Netzwerkanfragen, und es gibt keine Analyse-Skripte. Keine Ihrer Eingaben oder generierten Werte verlässt die Seite.