模块 SecureRandom

安全随机数生成器接口。

此库是安全随机数生成器的接口,适用于在 HTTP Cookie 中生成会话密钥等。

您可以通过要求它在您的应用程序中使用此库

require 'securerandom'

它支持以下安全随机数生成器

  • openssl

  • /dev/urandom

  • Win32

SecureRandom 由 Random::Formatter 模块扩展,该模块定义了以下方法

  • alphanumeric

  • base64

  • choose

  • gen_random

  • hex

  • rand

  • random_bytes

  • random_number

  • urlsafe_base64

  • uuid

这些方法可以作为SecureRandom的类方法使用,例如SecureRandom.hex

如果安全随机数生成器不可用,则会引发 NotImplementedError

常量

VERSION

版本

公共类方法

alphanumeric(n = nil, chars: ALPHANUMERIC) 点击切换源代码

Ruby 3.2 的兼容方法,在放弃支持 Ruby 3.2 后我们可以删除它

# File 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 securerandom.rb, line 49
def bytes(n)
  return gen_random(n)
end