乱数生成疑似デバイスが面白い

最終更新日

Ubunrtu で乱数を使ったプログラムを書こうと思って調べていたら /dev/urandom という疑似デバイスの存在を知った.これを使うとあたかもハードウェアの乱数生成器をマシンに繋いで使ってるかのように,どんどん乱数列を吐き出してくれる.

ダンプの録画

/dev/urandom とは?

詳しい説明は Wikipedia/dev/random と /dev/urandomの違い が面白いし詳しい.僕の理解はこんな感じ.

  • /dev/random は真の乱数だけど大量生産できない (不便)
  • /dev/urandom は疑似乱数だけど大量生産できる (便利)

こいつらはどちらも乱数なので,例えば単純に $ cat /dev/urandom とかやっても文字化けみたいな字しか出てこない.使えるようにするには工夫が要った.

別に壊れてません!

乱数が無限に流れるのを見よう!

文字化けみたいな文字を見ても面白くないから,base64 でエンコードして文字っぽくして見てみる.次のコマンドを実行して無限にbase64エンコード文字列が流れていくのを見れる.無限に続いて終わりませんから,止めるときは Ctrl + C で.

$ cat /dev/urandom | base64
base64 の乱数

他に,16進数で見ることもできる.実はこのほうが僕の目的には近い遊び方.

$ cat /dev/urandom | od -An -tx
od は整形もしてくれる

僕の使用例

僕は /dev/urandom を,ランダムなカラーコードの生成に使った.詳しい内容は別の記事で

1件のコメント

コメントを残す

%d