模块 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