Bagaimana saya bisa menggunakan /dev/(u)random
Ubuntu atau sistem * nix?
Saya mencoba ini tetapi katanya izin ditolak.
Catatan: Saya juga mencoba sebagai root.
/dev/(u)random
sudo /dev/(u)random
sudo -s; /dev/(u)random
Bagaimana saya bisa menggunakan /dev/(u)random
Ubuntu atau sistem * nix?
Saya mencoba ini tetapi katanya izin ditolak.
Catatan: Saya juga mencoba sebagai root.
/dev/(u)random
sudo /dev/(u)random
sudo -s; /dev/(u)random
Jawaban:
Ini adalah file seperti perangkat, sehingga Anda dapat melakukan hal-hal seperti cat atau menyalinnya. Contohnya:
dd if=/dev/urandom of=~/urandom_test count=4 bs=1024
Membuat file yang berisi 4K byte acak.
cat /dev/urandom > ~/urandom_test2
Akan terus menulis byte acak ke file itu hingga Anda menekan Ctrl-C. Jangan lakukan ini pada sistem berperforma rendah ...
head -30 /dev/urandom > ~/urandom_test3
Akan menulis 30 baris byte acak
bytes terminated by a \n
. Apa milikmu? head -30 /dev/urandom
akan memberi Anda 30 baris byte acak. Panjang garis-garis itu tentu saja akan acak. Coba jalankan wc -l
pada file output Anda jika Anda tidak yakin.
/dev/urandom
dibatasi hingga 32 MiB per read()
dan dd
tidak akan mencoba lagi untuk membaca lebih dari sekali yang /dev/urandom
menghasilkan 32 MiB, jadi Anda harus menelepon dd
dengan iflag=fullblock
. Lihat dd menghasilkan file acak 32 MB bukannya 1 GB
Jika Anda membutuhkan sejumlah byte acak, bacalah jumlah byte itu dari /dev/urandom
.
Ini adalah "file khusus" yang dibuat seperti file untuk membaca angka acak.
Menggunakan cat
membaca dari /dev/urandom
adalah ide yang buruk, karena itu akan mencoba membaca /dev/urandom
sampai akhir - tetapi itu tidak berakhir.
Anda bisa menggunakannya head
. Tetapi berhati-hatilah untuk membaca dengan byte, bukan dengan baris - karena baris akan dipisahkan secara acak oleh byte baris baru acak.
Jadi, untuk membaca 30 byte acak ke dalam file random.bytes
, gunakan:
head -c 30 /dev/urandom > random.bytes
Anda dapat membacanya sebagai pengguna normal.
Biasanya, Anda ingin menggunakan /dev/urandom
, bukan /dev/random
.
Masalahnya adalah /dev/random
sulit digunakan dengan cara yang benar - dan mudah digunakan dengan cara yang salah. Mula-mula menggunakannya salah, tetapi menciptakan masalah kinerja yang aneh - bahkan acak nanti. Terkadang.
Ketika Anda menggunakan /dev/urandom
, itu memanfaatkan /dev/random
internal, merawat bagian-bagian yang rumit.
RANDOM
untuk membuat bilangan bulat positif acak:,echo $RANDOM
dan programshuf
untuk menghasilkan permutasi acak, misalnya bermain secara acak dari daftar putar.