* lib/securerandom.rb (SecureRandom::gen_random): use /dev/urandom

for initialize OpenSSL's rand.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52811 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
kosaki 2015-11-30 20:29:22 +00:00
Родитель 07083767e9
Коммит 7104a473ea
2 изменённых файлов: 9 добавлений и 0 удалений

Просмотреть файл

@ -1,3 +1,8 @@
Thu Oct 22 00:12:33 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* lib/securerandom.rb (SecureRandom::gen_random): use /dev/urandom
for initialize OpenSSL's rand.
Wed Oct 21 12:10:04 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* ext/openssl/ossl_rand.c (ossl_rand_bytes): RAND_bytes could

Просмотреть файл

@ -56,6 +56,10 @@ module SecureRandom
now = Process.clock_gettime(Process::CLOCK_REALTIME, :nanosecond)
ary = [now, @pid, pid]
OpenSSL::Random.random_add(ary.join("").to_s, 0.0)
seed = Random.raw_seed(16)
if (seed)
OpenSSL::Random.random_add(seed, 16)
end
@pid = pid
end
return OpenSSL::Random.random_bytes(n)