Sign in Join
Wiki copytemporary

Dev random/de: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
1-In diesem Artikel handelt es sich um Unix Programmierung. Es geht in diesem Artikel und um das Erstellen einems zufälligen Initialwerts für den Zufallsgenerator der Funktion <b>random</b>.\
1+In diesem Artikel handelt es sich um Unix Programmierung. Es geht in diesem Artikel und um das Erstellen einems zufälligen Initialwerts für den Zufallsgenerator der Funktion random.\
22=Übersicht= Mit `/dev/random` und `/dev/urandom` gibt es bei Unix und Unix basierenden Betriebsystemen zwei Schnittstellen, die Speicher, Laufwerke und Netzwerk-Dumps aus dem Kernel (und soweit vorhanden und aktiviert Kryptografie-Harware) zu (Pseudo-) Zufallszahlen verarbeiten.\
3-\
3+
44Der Unterschied zwischen `/dev/random` und `/dev/urandom` liegt darin, das die Schnittstelle `/dev/random` unter bestimmten Voraussetzungen blockieren kann, was bei der Schnittstelle `/dev/urandom` nicht der Fall ist:
55
66- Wenn die Schnittstelle `/dev/random` Zufallszahlen zurück gibt, dann wartet Sie bis die Zahlen zufällig genug sind. In diesem Zeitraum blockiert die Schnittstelle.
77- Die Schnittstelle `/dev/urandom` dagegen blockiert nicht, wenn sie Zufallszahlen zurückgibt. Die Zahlen, die diese Schnittstelle zurückgibt, sind weniger zufällig.
88
9-\
109Die Verwendung von `/dev/random` oder `/dev/urandom` erlaubt es ähnlich Zufallswerte zu erstellen wie mit der Funktion [[doc:rtl/system/random.html|random]].\
1110=Beispiel= Um die Schnittstellen `/dev/random` und `/dev/urandom` in Free Pascal zu verwenden können wir folgenden code verwenden:
1211
1312``` pascal
1413procedure RandomSeed;
1514var
1615 f : file of integer;
1716 i : integer;
1817
1918begin
2019 i := 0;
2120 filemode := 0;
2221 AssignFile(f, '/dev/urandom');
2322 reset (f,1);
2423 read (f,i);
2524 CloseFile (f);
2625 // belegen der Systemvariablen RandSeed mit der Zufallszahl
2726 RandSeed := i;
2827end;
2928```
3029
31-\
32-
3330# Erklärung
3431
3532Wie fast alles in Unix oder Unix ähnlichen Betriebssystemen, ist urandom eine Datei! So öffnen wir urandom als Datei und lesen eine Ganzzahl.\
36-\
37-Dann nehmen wir die Zufallszahl und übergeben diese der Systemvariablen RandSeed. Mit diesem Initialwert erstellt die Funktion <b>random</b> weitere Zufallszahlen. Ganz genauso wie Sie es mit der Funktion Randomize machen würde. Nur, das die Initialisierung vom Zufall abhängt und nicht aus der aktuellen Systemzeit des Computers ermittelt wird.\
38-\
33+
34+Dann nehmen wir die Zufallszahl und übergeben diese der Systemvariablen RandSeed. Mit diesem Initialwert erstellt die Funktion random weitere Zufallszahlen. Ganz genauso wie Sie es mit der Funktion Randomize machen würde. Nur, das die Initialisierung vom Zufall abhängt und nicht aus der aktuellen Systemzeit des Computers ermittelt wird.\
35+
3936=Siehe auch=
4037
4138- [[doc:rtl/system/random.html|random]]
4239- [[Generating Random Numbers/de|Generating Random Numbers]]
4340
4441---
4542*From the Free Pascal wiki, page "Dev random/de", as it stood on 2020-06-24 after a change by Kai Burghardt, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history