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

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

他に,16進数で見ることもできる.実はこのほうが僕の目的には近い遊び方.
$ cat /dev/urandom | od -An -tx

od
は整形もしてくれる僕の使用例
僕は /dev/urandom
を,ランダムなカラーコードの生成に使った.詳しい内容は別の記事で!
1件のコメント