Command Palette

Search for a command to run...

So generieren Sie Zufallszahlen online: Bereiche, einzigartige Mengen und wann Zufälligkeit tatsächlich wichtig ist

So generieren Sie Zufallszahlen online: Bereiche, einzigartige Mengen und wann Zufälligkeit tatsächlich wichtig ist

T
Toolz Team
|Aug 23, 2026|15 min lesen

Teil der Sammlung Generator

Das erste Mal, dass mich Zufallszahlen gebissen haben, war bei einem Laravel-Nebenprojekt, Jahre bevor ich mit dem Bau von Toolz.dev begann. Ich brauchte kurze Empfehlungscodes, die ich erreicht hatte rand() Weil es genau dort war, und verschickte Eine Woche später hatten zwei Benutzer den gleichen Code Nicht weil die Chancen astronomisch waren, sondern weil ich falsch verstanden hatte, was rand() Eigentlich versprochen Diese kleine Peinlichkeit hat mir eine Lektion gelehrt, die ich in jedes Tool auf Toolz.dev: " random" getragen habe, ist nicht das eine Es gibt das zufällige Zufällige, das für einen Würfelwurf in Ordnung ist, und es gibt das ernste Zufällige, das Sie in dem Moment brauchen, in dem ein Wert irgendetwas schützt.

Dieser Ratgeber ist die Langfassung dessen, was ich mir damals gerne jemand gesagt hätte Ich werde durchgehen, wie man Zufallszahlen mit dem Zufallszahlengenerator Wenn es auf Toolz.dev nur auf eindeutige Mengen ankommt, warum die Zufallsquelle ändert, wofür Sie die Ausgabe sicher verwenden können, und die praktischen Fälle, in denen ich beim Erstellen danach greife.

tl; dr: Ein Zufallszahlengenerator zieht Werte aus einem von Ihnen definierten Bereich Legen Sie ein Minimum und Maximum fest, wählen Sie aus, wie viele Zahlen Sie wollen, und wählen Sie Ganzzahlen oder Dezimalzahlen Schalten Sie das Einzigartige ein, wenn sich kein Wert wiederholen darf, was Sie für Lotterien, Verlosungen und Probenahmen ohne Ersatz wünschen Der Toolz.dev-Generator läuft vollständig in Ihrem Browser und bevorzugt die Web Crypto API wegen ihrer Zufälligkeit, sodass nichts, was Sie generieren, jemals Ihr Gerät verlässt.

Was macht eigentlich ein Zufallszahlengenerator?

Ein Zufallszahlengenerator bildet eine unvorhersehbare Bitquelle auf einen Bereich abDas ist der ganze Job In einem Browser kommt es auf die Quelle an crypto.getRandomValues()(was die Web Cryptography API erfordert, um kryptografisch stark zu sein - im Gegensatz dazu Math.random(), die kein solches Versprechen abgibt Man sagt ihm das Intervall, sagen wir 1 bis 100, und es gibt einen Wert aus dem Inneren jenes Intervalls zurück, wo im Idealfall jeder Wert die gleiche Chance hat, aufzutauchen, fragt nach mehr als einem und es wiederholt die Ziehung.

Der interessante Teil ist das Wort & quot; unpredictable, & quot; denn Computer sind deterministische Maschinen, die nicht natürlich Überraschung erzeugen Was sie produzieren, ist Pseudozufälligkeit: eine Sequenz, die zufällig aussieht und statistische Tests besteht, aber von einem Algorithmus aus einem Start-Seed generiert wird Geben Sie dem gleichen Algorithmus den gleichen Seed und Sie erhalten jedes Mal die gleiche Sequenz. Diese Reproduzierbarkeit ist ein Merkmal, wenn Sie einen Test schreiben, der wiederholbar sein muss, und eine Haftung, wenn Sie etwas prägen, das unermesslich sein muss.

Auf Toolz.dev sitzt der Generator im Browser und liest seine Bits aus crypto.getRandomValues Wenn der Browser es entlarvt, was jeder moderne Browser tut Diese Funktion wird durch die W3 C Web Cryptography API definiert und wird durch das Betriebssystem' s kryptografisch sichere Quelle unterstützt Wenn diese Quelle vorhanden ist, sind die Zahlen unvorhersehbar genug für sicherheitsnahe Arbeiten wie das Aussuchen von Token oder das Mischen eines Decks Wenn es irgendwie nicht verfügbar ist, fällt das Tool auf den Standard-JavaScript-Generator zurück, was für Spiele und Sampling in Ordnung ist, aber niemals etwas Geheimnisvolles aussäen sollte Wissen, in welcher dieser beiden Welten Sie sich befinden, ist das Wichtigste an der Verwendung eines beliebigen RNG-Well.

Wie generiere ich Zufallszahlen auf Toolz.dev?

Der Ablauf ist bewusst kurz, da man meistens nur eine Nummer haben möchte und diese jetzt.

Legen Sie zunächst den Bereich fest Geben Sie das Minimum und das Maximum ein Für ganze Zahlen ist der Bereich an beiden Enden inklusiv, so können 1 bis 6 jedes von 1, 2, 3, 4, 5 oder 6 zurückgeben, genau wie ein Würfel Negative Werte und Bereiche, die sich über Null erstrecken, wie -50 bis 50, funktionieren genauso.

Zweitens, wählen Sie, wie viele Zahlen Sie wollen Eine Zahl für eine schnelle Auswahl, oder eine Charge von bis zu zehntausend, wenn Sie Testdaten seeding oder eine Probe bauen.

Drittens wählen Sie die Optionen aus Lassen Sie & quot; nur einbinden" für ganze Zahlen ein, oder schalten Sie es aus und setzen Sie die Anzahl der Nachkommastellen, wenn Sie Bruchwerte benötigen Schalten Sie & quot; nur eindeutige Werte ein" wenn sich keine Zahl wiederholen darf.

Klicken Sie schließlich auf Generieren Das Ergebnis zeigt die Liste zusammen mit der Summe und dem Durchschnitt, und die ganzen Stapelkopien als durch Zeilenumbrüche getrennte Liste, so dass es direkt in eine Tabellenkalkulationsspalte, ein Skript oder eine Testvorrichtung fällt Wenn Sie die verwendet haben UUID-Generator oder die Passwort-Generator Auf Toolz.dev wird mir die Form bekannt vorkommen, da ich versuche, die Generatoren konsistent zu halten.

Wann sollte ich nur eindeutige Zahlen verwenden?

Dies ist die Option, die die Leute verpassen, und sie ist diejenige, die die Mathematik am meisten verändert.

Standardmäßig zieht der Generator mit Austausch Jede Ziehung ist unabhängig, so kann eine Zahl mehr als einmal in derselben Charge erscheinen Das ist richtig für Würfelrollen, denn ein echtes Würfelpaar kann absolut zwei Vierer einspielen Aber falsch ist es bei einer Lottoziehung, einer Verlosung, oder zu jedem Zeitpunkt, an dem Sie ein Muster auswählen, ohne den Spielstein wieder in die Tasche zu stecken.

Schalten Sie Unique-Only ein und der Generator zieht ersatzlos, er führt Aufzeichnungen über das, was er bereits produziert hat und überspringt Wiederholungen, bis er Ihre Charge gefüllt hat Die klassische Verwendung sind Lottozahlen: Wenn Sie sechs Zahlen von 1 bis 49 ohne Duplikate wollen, ist Unique-Only der Unterschied zwischen einem gültigen und einem kaputten Ticket.

Hier gibt es eine natürliche Grenze, und das Werkzeug respektiert sie Man kann nicht mehr eindeutige ganze Zahlen zeichnen, als der Bereich aufnehmen kann Fragen Sie nach zehn eindeutigen Zahlen zwischen 1 und 5 und es gibt keine gültige Antwort, denn in diesem Intervall existieren nur fünf verschiedene ganze Zahlen Anstatt sich ewig zu drehen und zu versuchen, einen sechsten unmöglichen Wert zu finden, stoppt der Generator und sagt Ihnen, dass die Reichweite zu klein ist. Ich habe diesen Schutz absichtlich eingebaut, nachdem ich zu viele naive Shuffle-Schleifen im Produktionscode hängen sah.

Ganzzahlen oder Dezimalzahlen: Was brauche ich?

Ganzzahlen decken die meisten Anfragen ab. Würfel, Lotteriebälle, Array-Indizes und Datensatzzählungen sind allesamt ganze Zahlen, und der Ganzzahlmodus bietet Ihnen einen inklusiven Bereich, der mit der Denkweise der Leute über diese Dinge übereinstimmt.

Dezimalstellen sind für stetige Größen: ein zufälliger Preis, ein simulierter Sensorwert, ein Gewicht, eine Wahrscheinlichkeit Schalten Sie den ganzzahligen Modus aus und das Tool zieht aus dem halboffenen Intervall, das das Minimum, aber nicht das Maximum beinhaltet Diese halboffene Konvention, Minimum enthalten und Maximum ausgeschlossen, ist dieselbe, die fast jedem Gleitkomma-RNG in jeder Sprache zugrunde liegt, einschließlich JavaScript's eigenen Math.random1, die einen Wert im Bereich von 0 bis einschließlich aber nicht einschließlich 1. Passend zu dieser Konvention bedeutet, dass die Zahlen, die Sie hier erhalten, sich wie die Zahlen verhalten, die Sie im Code erhalten würden.

Sie steuern auch die Anzahl der Nachkommastellen, von eins bis zehn. Zwei Stellen sind richtig für währungsähnliche Werte, mehr, wenn Sie Messungen simulieren, die eine feinere Auflösung benötigen Bedenken Sie, dass nur eindeutige plus Dezimalstellen fast immer erfüllbar sind, weil der Raum der deutlichen Dezimalstellen enorm ist, wohingegen nur eindeutige plus ein winziger ganzzahliger Bereich die oben beschriebene Wand berührt.

Wie zufällig ist & quot; zufällig genug"?

Hier ist die Tabelle, die ich gerne vor diesem Verweiscode-Vorfall gesehen hätte. Es ordnet die häufigen Anwendungsfälle der Art von Zufälligkeit zu, die sie tatsächlich erfordern.

Anwendungsfall Zufälligkeit erforderlich Wiederholungen erlaubt? Notizen
Würfel, Brettspiele Pseudozufällig ist in Ordnung ja Unabhängigkeit pro Rolle ist der Punkt
Auswahl eines zufälligen Gewinners Kryptographisch bevorzugt Nein (nur Einzigartig) Fairness ist wichtig, verwenden Sie nur Einzigartigkeit
Lotterie - oder Verlosungsnummern Kryptographisch bevorzugt Nein (nur Einzigartig) Ersatzlos zeichnen
Probenahmezeilen zur Analyse Pseudozufällig ist in Ordnung Normalerweise nein Einzigartig nur für die ersatzlose Probenahme
Aussaatprüfvorrichtungen Pseudozufällig ist in Ordnung ja Reproduzierbarkeit kann sogar wünschenswert sein
Sicherheitstoken, Geheimnisse Kryptographisch erforderlich kein Verwenden Sie hier niemals ein einfaches PRNG

Die Zeile, die Personen auslöst, ist & quot; sicherheitstokens." Ein Allzweck-RNG, auch ein gutes, ist kein Ersatz für einen speziell entwickelten Geheimgenerator Wenn Sie einen API-Schlüssel, ein Sitzungstoken oder ein Passwort erstellen, verwenden Sie ein für diesen Auftrag entwickeltes Tool, wie z Passwort-Generatoroder ein Hashing-Tool wie das Hash-Generator Wenn Sie einen Digest fester Länge benötigen Der Zufallszahlengenerator ist für Zahlen in einem Bereich, nicht für kryptografisches Schlüsselmaterial, und die ehrliche Rahmung dieser Grenze ist nützlicher, als so zu tun, als ob ein Werkzeug alles tut.

Was kann ich damit eigentlich bauen?

Auf einige Arten verdient dies seinen Platz in meinem Workflow.

Wenn ich eine Benutzeroberfläche teste, die Listen rendert, generiere ich eine Charge von ein paar hundert Zahlen, um für Mengen, Preise oder Punkte einzustehen, sie in eine Vorrichtung einzufügen, und plötzlich wird das Layout mit realistischer Vielfalt anstelle der gleichen drei handgetippten Zeilen ausgeübt. Für die WordPress-Arbeit an WP Adminify habe ich zufällige Werte verwendet, um Demoinhalte zu füllen, sodass ein Einstellungsbildschirm in einem Screenshot lebendig aussieht.

Wenn ein Client ein Giveaway ausführt, wählt der Nur-Einzel-Modus Gewinner fair aus einer nummerierten Teilnehmerliste aus. Weisen Sie jedem Teilnehmer eine Zahl zu, ziehen Sie so viele eindeutige Gewinner, wie es Preise gibt. Keine Tabellenkalkulationsformel, kein Streit darüber, ob die Ziehung manipuliert wurde, da die Zahlen von einer Quelle stammten, die keiner von uns kontrolliert.

Für eine schnelle statistische Intuition ist das Generieren einer großen Charge und der Blick auf die Summe und den Durchschnitt eine schnelle Überprüfung der Vernunft, dass sich die Reichweite und Verteilung verhalten Wenn ich nach Zahlen von 1 bis 100 frage und der Durchschnitt wieder in die Nähe von 50 kommt, ist die Welt wie erwartet.

Und für den Alltagssachen ist es ein Würfelroller, ein Münzwurf, wenn man 1 und 2 als Kopf und Zahl behandelt, und ein & quot; eine Zahl auswählen" Abwickler kleiner ArgumenteNicht jeder Nutzen muss ernst sein, um nützlich zu sein.

Wie ist das im Vergleich zum eigenen Schreiben?

Du könntest schreiben Math.floor(Math.random() * (max - min + 1)) + min Und fertig Ich habe diese Zeile tausendmal geschrieben Warum also nach einem Werkzeug greifen?

Zwei Gründe, beide haben auf die harte Tour gelernt Der erste sind die Off-by-one und Modulo-bias Fehler, die sich in die Hand-Rolled Range Mathe einschleichen, vor allem, wenn man die Inclusive-versus-exklusive Grenze und die Unique-Only Anforderung hinzufügt Das Tool bewältigt die Randfälle, einschließlich des & quot; Sie haben nach mehr eindeutigen Werten gefragt als exist" Fall, also entdecken Sie sie nicht um 2 Uhr wieder. Der zweite ist, dass Math.random Kryptographisch explizit nicht sicher ist, eine Tatsache, die die MDN-Dokumentation klar ausführt, und es ist leicht zu vergessen, dass, wenn man einen Ausschnitt in Code einfügt, der später etwas Reales schützt Der Toolz.dev-Generator ist standardmäßig auf die Kryptoquelle eingestellt, also ist das sicherere Verhalten das, das man bekommt, ohne darüber nachzudenken.

Für eine einmalige Zahl in einer von Ihnen kontrollierten Umgebung ist ein Snippet in Ordnung. Für wiederholbare Ziehungen, eindeutige Sätze, Chargen, die Sie kopieren möchten, oder alles, wo Sie standardmäßig die Kryptoquelle haben möchten, speichert das Tool die Fummelteile.

Wenn Ihre Arbeit mehr auf Kodierung und Formatierung als auf Zahlengenerierung ausgerichtet ist, läuft die gleiche clientseitige Philosophie durch den Rest der Toolbox, von der Lorem Ipsum Generator für Platzhaltertext in den breiteren, im abgedeckten Satz Entwicklerproduktivitätstools Guide. Und weil jeder dieser lokal läuft, wird die Datenschutz Geschichte ist bei allen gleich: Ihre Eingaben bleiben in Ihrem Browser.

Was sind die häufigen Fehler, die Menschen mit Zufallszahlen machen?

Nach Jahren der Überprüfung von Code, meinen und anderen Leuten's tauchen immer wieder die gleichen Handvoll Fehler auf, und es lohnt sich, sie zu benennen, damit Sie sie vermeiden können.

Die erste ist verwirrend & quot; unwahrscheinlich" mit & quot; unmöglich." Meine Empfehlungscode-Geschichte ist genau diese Wenn Sie mit Ersatz aus einem Bereich zeichnen, sind Kollisionen kein Fehler, sie sind eine statistische Gewissheit bei genügend Ziehungen Das Geburtstagsparadoxon ist die klassische Illustration: In einer Gruppe von nur 23 Personen liegt die Chance, dass zwei einen Geburtstag teilen, bei über 50 Prozent, weit höher als die Intuition vermuten lässt, denn Sie vergleichen jedes Paar, vergleichen nicht alle mit einem festen Datum Wenn Ihre Werte einzigartig sein müssen, hoffen Sie nicht, dass die Spanne groß genug ist Schalten Sie auf nur eindeutig und beseitigen Sie den Zweifel.

Die zweite ist der Griff nach der falschen Quelle Viele Tutorials zeigen eine darauf aufbauende Bereichsformel Math.random Und nie erwähnen, dass es für irgendwas Sicherheitssensitives ungeeignet ist Der Wert sieht zufällig aus, die Demo funktioniert, und die Gewohnheit bleibt hängen Dann kopiert jemand diesen Snippet in Code, der ein Passwort-Reset-Token generiert, und jetzt ist das Token " random" für jeden vorhersehbar, der den zugrunde liegenden Algorithmus versteht Die Regel ist unverblümt: Wenn ein Mensch niemals in der Lage sein sollte, den Wert zu erraten, braucht er eine kryptografische Quelle Der Toolz.dev-Generator ist standardmäßig mit dieser Quelle verbunden, was die sicherere Voreinstellung ist, um eine Gewohnheit aufzubauen.

Der dritte sind Off-by-One Fehler an den Bereichsgrenzen Inklusive versus exklusive Endpunkte stolpern selbst erfahrene Entwickler aus, denn verschiedene Sprachen und verschiedene Funktionen treffen unterschiedliche Auswahlmöglichkeiten ist 100 eine mögliche Ausgabe, wenn ich nach 1 bis 100 frage? für ganze Zahlen hier ja, beide Enden sind enthalten Für Dezimalstellen ist das Maximum ausgeschlossen, passend zur Gleitkommakonvention explizit zu sein, welche Konvention gilt, verhindert den leisen Bug, bei dem deine Würfel niemals eine Sechs würfeln, weil du geschrieben hast < max anstelle <= maxdrohen

Die vierte geht davon aus, dass eine kleine Stichprobe zufällig aussieht Wahre Zufälligkeit erzeugt Klumpen und Streifen Eine faire Münze zehnmal umdrehen und ein Lauf von vier Köpfen ist völlig normal, dennoch sehen die Leute sie und gehen davon aus, dass die Münze oder der Generator kaputt ist Zufälligkeit ist nicht dasselbe wie gleichmäßiger Abstand, wenn Sie gleichmäßig verteilte Werte wollen, möchten Sie überhaupt keinen Zufallszahlengenerator, Sie wollen eine Folge wissen, welche Sie tatsächlich brauchen, ist die halbe Miete.

Häufig gestellte Fragen

Wie funktioniert ein Zufallszahlengenerator?

Ein Zufallszahlengenerator bildet eine unvorhersehbare Bitquelle auf den von Ihnen gewählten Bereich ab, Dieses Tool liest Bytes aus der Web Crypto API, wenn diese verfügbar ist, und skaliert sie in Ihr Minimum-zu-Maximum-Intervall, sodass jeder Wert im Bereich die gleiche Chance hat, gezogen zu werden.

Sind die Zahlen wirklich zufällig?

Es sind kryptographisch starke Pseudozufallszahlen, die für alle praktischen Zwecke unvorhersehbar sind Wenn der Browser crypto.getRandomValues aufdeckt ist die Ausgabe für Token und Shuffling geeignet; wenn nur der Standardgenerator verfügbar ist sind die Werte noch gut verteilt, sollten aber nicht für Geheimnisse verwendet werden.

Wie generiere ich eindeutige Zufallszahlen ohne Wiederholungen?

Aktivieren Sie die Option nur eindeutig vor dem Generieren Das Tool zeichnet dann ersatzlos, sodass jede Zahl im Stapel anders ist Wenn Sie nach mehr eindeutigen ganzen Zahlen fragen, als der Bereich aufnehmen kann, sagt es Ihnen, anstatt ewig zu schleifen.

Kann es Dezimalzahlen erzeugen?

Ja. Schalten Sie die Option ganzzahlig aus und stellen Sie ein, wie viele Dezimalstellen Sie haben möchten Dezimalstellen werden aus dem halboffenen Intervall gezogen, das das Minimum, aber nicht das Maximum enthält, was die Standardkonvention für kontinuierliche Bereiche ist.

Kann ich negative Zahlen verwenden?

Ja. Geben Sie ein negatives Minimum, ein negatives Maximum oder einen Bereich ein, der sich über Null erstreckt, wie z. B. -50 bis 50. Der Generator verarbeitet negative und gemischte Bereiche genauso wie positive.

Wie viele Zahlen kann ich auf einmal generieren?

Bis zu 10.000 Zahlen pro Charge Das Ergebnis umfasst die Summe und den Durchschnitt, sodass Sie große Chargen auf einen Blick auf die geistige Gesundheit überprüfen können, und die gesamte Liste kopiert sich als durch Zeilenumbrüche getrennte Werte.

Ist dieser Zufallszahlengenerator frei und privat?

Ja. Es ist kostenlos ohne Anmeldung und ohne Nutzungsobergrenze, und jede Zahl wird in Ihrem Browser generiert Es wird nie eine Reichweite, Zählung oder ein Ergebnis an einen Server übertragen.

Wofür kann ich einen Zufallszahlengenerator verwenden?

Häufige Verwendungszwecke sind das Auswählen von Lotterie - oder Verlosungszahlen, das Würfeln von Würfeln für Spiele, die Auswahl eines zufälligen Gewinners, das Setzen von Testdaten, das Auswählen von Stichprobenzeilen zur Analyse und das Randomisieren der Reihenfolge einer Liste Der Nur-Einzig-Modus deckt jeden Fall ab, der ohne Wiederholungen abgetastet werden muss.

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!