/dev/randomは、Unix系における乱数生成器であり、ランダムなバイナリが生成される。擬似デバイスの一種である。
- 例えば、
hexdump -C /dev/random
のを実行すると次のように表示される。
開くhexdump -C /dev/random の結果
|
00000000 45 64 f2 11 f8 5d 94 50 c2 10 bc 96 f1 68 2c fc |Ed...].P.....h,.|
00000010 0e 0e 73 98 4e c9 e4 e4 9e cd f4 38 e6 c1 42 29 |..s.N......8..B)|
00000020 15 12 c9 64 8f a6 4b 25 5b 99 5b f1 2f 6c d2 30 |...d..K%[.[./l.0|
00000030 9e 96 c9 74 74 5e c7 ea dc cc d3 5f ce 16 76 c2 |...tt^....._..v.|
00000040 9f 8f 33 62 27 5f 0b f0 0c 33 b4 eb e5 bc cc 37 |..3b'_...3.....7|
00000050 23 19 71 dc 60 b4 38 fc 8d 2d ad 0f 77 4d b4 f5 |#.q.`.8..-..wM..|
00000060 53 c0 b1 64 39 5f 4a ad 76 9c e1 e2 66 46 22 eb |S..d9_J.v...fF".|
00000070 27 7b 8b 6f f0 f8 47 72 9f 71 61 92 e4 2d 52 2c |'{.o..Gr.qa..-R,|
00000080 17 ff 90 2b f9 16 d5 c6 52 92 90 06 ac 11 54 cb |...+....R.....T.|
00000090 77 5b 12 33 bb 02 4f f8 a2 b3 58 dc 8c 8a 13 b7 |w[.3..O...X.....|
000000a0 a0 08 fa a4 74 ef 44 9b 0a 3f 29 6d ce 37 bd 61 |....t.D..?)m.7.a|
000000b0 ae 1f a1 1e 68 e2 58 c5 95 17 09 67 89 d1 43 8e |....h.X....g..C.|
000000c0 b9 64 f7 f9 c8 28 0b c8 29 76 31 e5 48 82 fd 13 |.d...(..)v1.H...|
000000d0 86 7a 0e 94 11 45 20 6b 50 0e 79 4a b8 9e 96 06 |.z...E kP.yJ....|
000000e0 17 0a 9a 3d 8e 33 0b bc f0 98 6b 3d a7 59 73 a4 |...=.3....k=.Ys.|
000000f0 72 7e b2 5a eb 2f c3 dc a7 08 6a 43 ab 8e 04 1f |r~.Z./....jC....|
|
再度hexdump -C /dev/random
を実行したところ、次のように表示された。
開くhexdump -C /dev/random の結果
|
00000000 84 4c bb e2 16 63 78 bf b4 38 3b dd da 23 85 02 |.L...cx..8;..#..|
00000010 3d e3 57 4c b1 e9 36 12 a8 59 3d ac ba b6 11 6f |=.WL..6..Y=....o|
00000020 3e 7a bd b4 63 44 11 1d 30 b7 5e 5e 02 75 82 3b |>z..cD..0.^^.u.;|
00000030 1d e2 af 9f ba ce dd 64 8e 20 48 b5 b0 4d ca 30 |.......d. H..M.0|
00000040 49 cd 06 ca 1e e5 0b 15 5e a3 57 ea ee 8b b2 c2 |I.......^.W.....|
00000050 7d a6 d4 4c dd 59 9e 80 7f 9a 23 32 e8 c6 60 4f |}..L.Y....#2..`O|
00000060 0a 9a b4 6a e6 71 4c 02 21 cd 18 b9 b1 32 12 97 |...j.qL.!....2..|
00000070 c9 42 ff 0d 03 75 fb 31 95 7e 15 94 28 3a 4b 12 |.B...u.1.~..(:K.|
00000080 c4 95 c0 e4 47 d7 32 87 7a ac 1d 20 c3 91 6d 28 |....G.2.z.. ..m(|
00000090 70 d8 43 b1 bf 2c 4e 52 72 56 21 73 b2 cd 1f 70 |p.C..,NRrV!s...p|
000000a0 51 e2 a4 00 22 64 13 f3 9d 65 13 e4 15 6b a5 e6 |Q..."d...e...k..|
000000b0 bd 70 38 8c 67 45 86 11 3e b9 d2 dd 1a 11 4e 4b |.p8.gE..>.....NK|
000000c0 b1 d8 77 fd e6 b3 19 30 1a 42 ab 99 a4 fe 30 b9 |..w....0.B....0.|
000000d0 41 2d 42 b6 2c c5 33 a4 50 be de 44 48 3c 3f 95 |A-B.,.3.P..DH<?.|
000000e0 50 c6 61 9d 07 d0 d7 c5 82 79 fd 7e 2d 07 ff 58 |P.a......y.~-..X|
000000f0 bb fa fc 61 e2 f7 65 89 3c ad 4e 5c 71 bc 78 e1 |...a..e.<.N\q.x.|
|
このように/dev/randomでは、ランダムなバイナリを生成することができる。
その他[編集]
cat /dev/random
と実行してはいけない。cat /dev/random
は、大量のランダムなバイナリを文字としてターミナルにダンプしようとし、その中の一部は制御コード[注 1]と誤認される。これは、実質的にランダムな制御コードをターミナルに送信していることを意味し、ターミナルを破損させる。
- ↑ 例えば、Ctrl+CやCtrl+Dが制御コードの例である
関連項目[編集]