2011年7月29日20:04 とみたまさひろ <tommy / tmtm.org>:

> ダメでした…。次のスクリプトで同じ乱数が生成されました。
>
> % ruby -rsecurerandom -e 'OpenSSL::Random.random_bytes(16); 33000.times{pid=fork{p [$$,SecureRandom.hex(16)]}; Process.waitpid pid}'
>

なるほど。securerandom.rb 以外で OpenSSL::Random.random_bytes が呼ばれると、
securerandom.rb は fork したことに気がつけないのですね。

> SecureRandom.random_bytes がそのプロセスで最初に呼ばれた時には常に
> OpenSSL::Random.seed を呼ぶようにしてみたらうまくいきました。先のメール
> の ary.to_s も一緒に修正しています。

入れておきます。
-- 
[田中 哲][たなか あきら][Tanaka Akira]