44 votes

Comment utiliser /dev/(u)random

Comment puis-je utiliser /dev/(u)random sur Ubuntu ou tout autre système *nix ?

J'ai essayé ceci mais ça dit permission refusée.
Note: J'ai également essayé en tant que root.

/dev/(u)random
sudo /dev/(u)random
sudo -s; /dev/(u)random

73voto

aychedee Points 7707

C'est un dispositif semblable à un fichier, vous pouvez donc faire des choses comme le consulter ou copier à partir de celui-ci. Par exemple:

dd if=/dev/urandom of=~/urandom_test count=4 bs=1024

Crée un fichier contenant 4K d'octets aléatoires.

cat /dev/urandom > ~/urandom_test2 

Continuera d'écrire des octets aléatoires dans ce fichier jusqu'à ce que vous appuyiez sur Ctrl-C. Ne le faites pas sur un système peu performant...

head -30 /dev/urandom > ~/urandom_test3

Écrira 30 lignes d'octets aléatoires

22voto

Volker Siegel Points 12033

Obtenir des octets aléatoires

Si vous avez besoin d'un certain nombre d'octets aléatoires, lisez ce nombre d'octets depuis /dev/urandom.
C'est un "fichier spécial" conçu pour être comme un fichier à partir duquel on peut lire des nombres aléatoires.

Utiliser cat pour lire depuis /dev/urandom est une mauvaise idée, car cela essaiera de lire /dev/urandom jusqu'à la fin - mais il n'y a pas de fin.

Vous pouvez utiliser head. Mais faites attention à lire par octet, pas par ligne - car les lignes seraient aléatoirement séparées par des octets de saut de ligne aléatoires.

Donc, pour lire 30 octets aléatoires dans un fichier random.bytes, utilisez :

head -c 30 /dev/urandom > random.bytes

Vous pouvez lire depuis ce fichier en tant qu'utilisateur normal.

Laisser intact /dev/random

En général, vous voulez utiliser /dev/urandom, pas /dev/random.

Le problème est que /dev/random est difficile à utiliser correctement - et facile à utiliser de manière incorrecte. L'utiliser de manière incorrecte fonctionne au début, mais crée des problèmes de performances étranges - voire aléatoires - plus tard. Parfois.

Lorsque vous utilisez /dev/urandom, cela fait appel à /dev/random en interne, en prenant soin des parties délicates.

7voto

Seraf Points 261

Si vous voulez simplement le lire avec les chiffres reconnus, vous pouvez le faire

od -d /dev/random

3voto

Michael Herold Points 574

Je l'utilise personnellement pour générer des jetons:

dd if=/dev/urandom  count=1 bs=128 | sha512sum

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X