From: Tanaka Akira Date: 2011-07-29T23:55:44+09:00 Subject: [ruby-dev:44271] Re: [Ruby 1.8 - Bug #5105] CGI::Session#session_id の生成方法について 2011年7月29日20:04 とみたまさひろ : > ダメでした…。次のスクリプトで同じ乱数が生成されました。 > > % 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]