Wie kann ich /dev/(u)random
auf Ubuntu oder anderen * nix-Systemen arbeiten?
Ich habe es versucht, aber es heißt, die Erlaubnis wurde verweigert.
Hinweis: Ich habe es auch als root versucht.
/dev/(u)random
sudo /dev/(u)random
sudo -s; /dev/(u)random
RANDOM
um zufällige positive ganze Zahlen zu erzeugenecho $RANDOM
, und das Programmshuf
, um zufällige Permutationen zu erzeugen, zum Beispiel, um in zufälliger Reihenfolge aus einer Wiedergabeliste zu spielen.Antworten:
Es ist eine Datei wie ein Gerät, so dass Sie Dinge wie cat it tun oder daraus kopieren können. Zum Beispiel:
Erstellt eine Datei mit 4 KB zufälligen Bytes.
Schreibt weiterhin zufällige Bytes in diese Datei, bis Sie Strg-C drücken. Tun Sie dies nicht auf einem System mit geringer Leistung ...
Schreibt 30 Zeilen mit zufälligen Bytes
quelle
bytes terminated by a \n
. Welches ist deines?head -30 /dev/urandom
Sie erhalten 30 Zeilen mit zufälligen Bytes. Die Länge dieser Zeilen wird sicherlich zufällig sein. Versuchen Sie es mitwc -l
Ihrer Ausgabedatei, wenn Sie nicht überzeugt sind./dev/urandom
auf 32 MiB begrenzt ist proread()
unddd
wird nicht versuchen noch einmal zu lesen/dev/urandom
Ausbeuten jene 32 MiB, so müssen Sie rufendd
mitiflag=fullblock
. Siehe dd produziert eine 32 MB Zufallsdatei anstelle von 1 GBHolen Sie sich zufällige Bytes
Wenn Sie eine bestimmte Anzahl von Zufallsbytes benötigen, lesen Sie diese Anzahl von Bytes ab
/dev/urandom
.Es ist eine "spezielle Datei", die wie eine Datei gemacht ist, aus der Zufallszahlen gelesen werden können.
Das
cat
Lesen/dev/urandom
ist eine schlechte Idee, da es versucht,/dev/urandom
bis zum Ende zu lesen - aber es endet nicht.Sie können verwenden
head
. Aber achten Sie darauf, dass Sie byteweise und nicht zeilenweise lesen, da die Zeilen durch zufällige Zeilenumbruch-Bytes zufällig voneinander getrennt werden.Um also 30 zufällige Bytes in eine Datei zu lesen
random.bytes
, verwenden Sie:Sie können als normaler Benutzer daraus lesen.
Lass in Ruhe / dev / random
Normalerweise möchten Sie verwenden
/dev/urandom
, nicht/dev/random
.Das Problem ist, dass
/dev/random
es schwierig ist, es richtig zu verwenden - und es ist einfach, es falsch zu verwenden. Die falsche Verwendung funktioniert zunächst, führt aber später zu merkwürdigen - sogar zufälligen - Leistungsproblemen. Manchmal.Wenn Sie es verwenden
/dev/urandom
, wird es/dev/random
intern verwendet und kümmert sich um die kniffligen Teile.quelle
Wenn Sie es nur mit erkannten Zahlen lesen möchten, können Sie dies tun
quelle
Ich persönlich benutze dies, um Token zu generieren:
quelle