Beschreibung: Zufallsgenerator - Zahl

Erstellt am 14.12.2016 | Zuletzt geändert am 21.12.2016

Kurze Beschreibung

Dieser Zufallsgenerator erzeugt eine Zufallszahl.

Was ist Zufall?

Als Zufall bezeichnet man ein Ereignis, für das es keine kausale Erklärung gibt. Das bedeutet, dass das Ergebnis eines Zufallsgenerators nicht vorhersehbar bzw. berechenbar sein darf. Dies widerspricht jedoch den Gesetzmäßigkeiten eines jeden Computers, was im Umkehrschluss bedeutet, dass ein Computer ohne weitere Peripherie keine absolut zufälligen Zahlen erzeugen kann. Man spricht in diesem Fall von Pseudo-Zufallszahlen. Generell lässt sich darüber philosophieren, ab wann man tatsächlich von Zufall sprechen kann.

Wie werden die Zufallszahlen generiert?

Prinzipiell werden in diesem Generator zwei verschiedene Mechanismen zur Erzeugung von Pseudo-Zufallszahlen eingesetzt.

Zufallsgenerator 1 für Binärstring

Der erste Mechanismus dient rein dazu, den Binärstring im Hintergrund zu generieren. Einerseits dient dieser zur besseren Optik und andererseits kann hierdurch vom Nutzer sichergestellt werden, dass auch tatsächlich ein neuer Zufallswert erzeugt worden ist. Für die Erzeugung des Binärstrings werden die PHP-Funktionen mt_rand() und decbin() eingesetzt. Die erste Funktion erzeugt die eigentlich Zufallszahl und die zweite dient zur Konvertierung der Dezimalzahl in eine Binärzahl. Prinzipiell wird folgender Algorithmus angewendet:

1
2
$random_string = "";
while(strlen($random_string) < GEWÜNSCHTE_LÄNGE) $random_string .= decbin(mt_rand(ZAHL1, ZAHL2));

Zufallsgenerator 2 für Zufallszahl

Der vorherige Zufallsgenerator erzeugt einigermaßen gute Zufallszahlen, welche jedoch noch verbesserungsfähig sind. Zur Erzeugung der Zufallszahl wird deshalb die Funktion random_int() verwendet, die kryptographisch sichere Pseudo-Zufallszahlen generiert:

1
$zufallsantwort = random_int(ZAHL_MIN, ZAHL_MAX);
Teile diesen Beitrag
Anzeige