模块 Gem::SecureRandom
安全随机数生成器接口。¶ ↑
该库是安全随机数生成器的接口,适用于生成 HTTP Cookie 中的会话密钥等。
你可以通过引入该库在你的应用程序中使用它
require 'rubygems/vendor/securerandom/lib/securerandom'
它支持以下安全随机数生成器
-
openssl
-
/dev/urandom
-
Win32
Gem::SecureRandom
扩展了 Random::Formatter 模块,该模块定义了以下方法
-
alphanumeric
-
base64
-
choose
-
gen_random
-
hex
-
rand
-
random_bytes
-
random_number
-
urlsafe_base64
-
uuid
这些方法可以用作 Gem::SecureRandom
的类方法,例如 Gem::SecureRandom.hex
。
如果安全随机数生成器不可用,则会引发 NotImplementedError
。
常量
- VERSION
版本号
公共类方法
alphanumeric(n = nil, chars: ALPHANUMERIC) 点击切换源代码
Ruby 3.2 的兼容性方法,在放弃支持 Ruby 3.2 后可以删除此方法
# File rubygems/vendor/securerandom/lib/securerandom.rb, line 54 def alphanumeric(n = nil, chars: ALPHANUMERIC) n = 16 if n.nil? choose(chars, n) end
bytes(n) 点击切换源代码
返回包含 size
字节的随机二进制字符串。
请参阅 Random.bytes
# File rubygems/vendor/securerandom/lib/securerandom.rb, line 49 def bytes(n) return gen_random(n) end