Comment puis-je utiliser /dev/(u)random
sur Ubuntu ou tout autre système * nix?
J'ai essayé mais il est dit que la permission a été refusée.
Remarque: j'ai également essayé en tant que root.
/dev/(u)random
sudo /dev/(u)random
sudo -s; /dev/(u)random
RANDOM
pour créer des nombres entiers positifs aléatoires:,echo $RANDOM
et le programmeshuf
pour générer des permutations aléatoires, par exemple jouer dans un ordre aléatoire à partir d'une liste de lecture.Réponses:
C'est un fichier comme un appareil, vous pouvez donc faire des choses comme le chat ou copier à partir de celui-ci. Par exemple:
Crée un fichier contenant 4K d'octets aléatoires.
Continuera à écrire des octets aléatoires dans ce fichier jusqu'à ce que vous appuyiez sur Ctrl-C. Ne faites pas cela sur un système peu performant ...
Écrira 30 lignes d'octets aléatoires
la source
bytes terminated by a \n
. Quel est ton?head -30 /dev/urandom
vous donnera 30 lignes d'octets aléatoires. La longueur de ces lignes sera certainement aléatoire. Essayez de lancerwc -l
votre fichier de sortie si vous n'êtes pas convaincu./dev/urandom
est limité à 32 Mio parread()
etdd
ne réessayera pas de lire plus une fois que/dev/urandom
ces 32 Mio seront générés, vous devez donc appelerdd
aveciflag=fullblock
. Voir dd produit un fichier aléatoire de 32 Mo au lieu de 1 GoObtenez des octets aléatoires
Si vous avez besoin d'un certain nombre d'octets aléatoires, lisez ce nombre d'octets à partir de
/dev/urandom
.C'est un "fichier spécial" qui est fait pour être comme un fichier à partir duquel lire des nombres aléatoires.
Utiliser
cat
pour lire/dev/urandom
est une mauvaise idée, car il essaiera de lire/dev/urandom
jusqu'à la fin - mais il ne se termine pas.Vous pouvez utiliser
head
. Mais veillez à lire par octet, pas par ligne - car les lignes seraient séparées de façon aléatoire par des octets de nouvelle ligne aléatoires.Donc, pour lire 30 octets aléatoires dans un fichier
random.bytes
, utilisez:Vous pouvez y lire en tant qu'utilisateur normal.
Laisser tranquille / dev / random
Normalement, vous voulez utiliser
/dev/urandom
, non/dev/random
.Le problème est qu'il
/dev/random
est difficile à utiliser dans le bon sens - et facile à utiliser dans le mauvais sens. L'utiliser mal fonctionne au début, mais crée des problèmes de performances étranges - voire aléatoires - plus tard. Parfois.Lorsque vous utilisez
/dev/urandom
, il utilise en/dev/random
interne, en prenant soin des parties délicates.la source
Si vous voulez simplement le lire avec des numéros reconnus, vous pouvez le faire
la source
Je l'utilise personnellement pour générer des jetons:
la source