提交 c26cb089 编写于 作者: J Jeremy Kemper

Lazy-require OpenSSL. Skip entirely if SecureRandom is available.

上级 9f5ab945
begin
require 'openssl'
rescue LoadError
end
begin
require 'securerandom'
rescue LoadError
......@@ -10,7 +5,7 @@
module ActiveSupport
if defined?(::SecureRandom)
# Use Ruby 1.9's SecureRandom library whenever possible.
# Use Ruby's SecureRandom library if available.
SecureRandom = ::SecureRandom # :nodoc:
else
# = Secure random number generator interface.
......@@ -64,6 +59,13 @@ module SecureRandom
def self.random_bytes(n=nil)
n ||= 16
unless defined? OpenSSL
begin
require 'openssl'
rescue LoadError
end
end
if defined? OpenSSL::Random
return OpenSSL::Random.random_bytes(n)
end
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册