Zum Hauptinhalt springen
PulsarKit

Zufallsgenerator für Zahlen und Buchstaben

Erzeugen Sie Zufallszahlen in einem Bereich ohne Duplikate oder zufällige Zeichenketten aus Buchstaben, Ziffern und Sonderzeichen – mit crypto.getRandomValues.

So erzeugen Sie Zufallszahlen und zufällige Zeichenketten

  1. 1

    Zahlen oder Zeichenkette wählen

    Wechseln Sie zwischen einem Zahlenbereich – ganzzahlig oder mit Nachkommastellen – und einer zufälligen Zeichenkette aus den Zeichenarten, die Sie auswählen.

  2. 2

    Bereich oder Alphabet festlegen

    Legen Sie für Zahlen Minimum und Maximum fest und ob Duplikate zulässig sind. Für Zeichenketten schalten Sie Zeichenarten ein oder aus oder fügen ein eigenes Alphabet ein.

  3. 3

    Erzeugen und Ergebnis kopieren

    Bis zu 10.000 Werte erscheinen auf einmal, einer je Zeile, bereit zum direkten Kopieren in die Zwischenablage.

Warum crypto.getRandomValues statt Math.random

Math.random in JavaScript ist schnell, war aber nie dafür gedacht, Vorhersagen standzuhalten. Bei manchen Engines reicht eine Handvoll Ausgaben, um den inneren Zustand zu rekonstruieren und jeden folgenden Wert vorherzusagen. Die Funktion crypto.getRandomValues bezieht ihre Werte stattdessen aus dem kryptografisch sicheren Generator des Betriebssystems – derselben Quelle, aus der Browser Schlüssel für die Verschlüsselung erzeugen. Wer die Folge beobachtet, kann daraus also nichts erraten. Dieses Tool nutzt diese Quelle überall, auch zum Mischen einer Liste, wenn Duplikate ausgeschaltet sind.

Modulo-Verzerrung und wie die Verwerfungsmethode sie beseitigt

Der naive Weg, aus einer zufälligen 32-Bit-Zahl „einen Wert von 1 bis 100“ zu machen, ist der Rest bei Division durch 100, also modulo 100. Das bevorzugt aber unbemerkt das untere Ende des Bereichs: 2^32 ist nicht ohne Rest durch 100 teilbar, und die übrigen Werte, die kein volles Vielfaches mehr ergeben, landen alle bei denselben wenigen Ergebnissen. Dieses Tool verwirft stattdessen jede Ziehung, die in diesen ungleichen Rest fällt, und zieht neu. Das nennt man Verwerfungsmethode (Rejection Sampling). So hat jede Zahl im gewünschten Bereich exakt dieselbe Wahrscheinlichkeit.

Jeder Wert entsteht in diesem Tab

Zahlen und Zeichenketten entstehen vollständig in Ihrem Browser über die Web Crypto API. Nichts, was Sie erzeugen, wird an einen Server gesendet oder im Browserspeicher abgelegt. Der Link zum Weitergeben enthält nur Ihre Einstellungen, nie die Werte selbst – ein vorhersagbarer Link würde den Sinn einer Zufallsziehung zunichtemachen.

Häufige Fragen

Warum ist crypto.getRandomValues besser als Math.random?

Math.random ist auf Geschwindigkeit optimiert, nicht auf Unvorhersagbarkeit, und für mehrere JavaScript-Engines wurde gezeigt, dass sich seine Ausgabe aus einer kleinen Stichprobe von Ergebnissen rekonstruieren lässt. Die Funktion crypto.getRandomValues bezieht ihre Werte aus dem kryptografisch sicheren Zufallszahlengenerator des Betriebssystems, der keine solche Abkürzung bietet.

Wie funktioniert „ohne Duplikate“ bei großen Bereichen?

Bei Bereichen bis zu fünf Millionen möglichen Werten mischt dieses Tool die vollständige Liste mit dem Fisher-Yates-Verfahren und nimmt so viele Werte, wie Sie angefordert haben. Darüber zieht es die Werte einzeln und behält nur neue. Das bleibt schnell, weil Kollisionen selten sind, wenn Sie weit weniger Werte anfordern, als der Bereich enthält.

Was ist Modulo-Verzerrung, und warum rechnet das Tool nicht einfach mit %?

Verkleinern Sie eine zufällige 32-Bit-Zahl mit einer einfachen Restwertoperation, wird das untere Ende Ihres Bereichs ein klein wenig wahrscheinlicher, weil 2^32 für die meisten Bereichsgrößen kein exaktes Vielfaches ist. Dieses Tool verwirft den kleinen Anteil an Werten, der diese Schieflage verursachen würde, und zieht neu. So ist jedes Ergebnis in Ihrem Bereich gleich wahrscheinlich.

Kann ich das Ergebnis als Passwort verwenden?

Eine hier erzeugte Zeichenkette mit großem Alphabet und ausreichender Länge ist genauso stark wie ein Passwort aus einem eigens dafür gebauten Generator. Wenn Sie gezielt Entropiewerte, eine Bewertung der Stärke oder eine Passphrase möchten, ist dafür der „Passwort-Generator“ gedacht.

Wie viele Zahlen oder Zeichenketten kann ich auf einmal erzeugen?

Bis zu 10.000 in einem Durchgang, ob Zahlen oder Zeichenketten. Das reicht gut für Verlosungen, Testdaten und Stichproben, ohne dass Sie das Tool mehrmals ausführen müssen.

Verlassen die erzeugten Werte jemals meinen Browser?

Nein. Jede Zahl und jedes Zeichen wird lokal über die Web Crypto API erzeugt, und nichts wird irgendwohin hochgeladen. Ein Wert verlässt die Seite nur, wenn Sie ihn in die Zwischenablage kopieren – und das haben allein Sie in der Hand.

Warum enthält der Link zum Weitergeben nicht die Zahlen selbst?

Der Link gibt nur Ihre Einstellungen wieder (Bereich, Anzahl, ob Duplikate erlaubt sind), nie die Werte selbst. Ein Link, der auf Abruf dieselben „zufälligen“ Zahlen wiederholen könnte, würde sie vorhersagbar machen – und damit den Zweck verfehlen, sie auf diese Weise zu erzeugen.

Ähnliche Tools