superclass=
type=module
library=securerandom
extended=
included=

安全な乱数発生器のためのインターフェースを提供するモジュールです。
HTTP のセッションキーなどに適しています。

以下の乱数発生器をサポートしています。

  * openssl
  * /dev/urandom

上の安全な乱数発生器が使用できない場合、各メソッドは NotImplementedError を発生します。
  
  # random hexadecimal string. 
  p SecureRandom.hex(10) #=> "52750b30ffbc7de3b362" 
  p SecureRandom.hex(10) #=> "92b15d6c8dc4beb5f559" 
  p SecureRandom.hex(11) #=> "6aca1b5c58e4863e6b81b8" 
  p SecureRandom.hex(12) #=> "94b2fff3e7fd9b9c391a2306" 
  p SecureRandom.hex(13) #=> "39b290146bea6ce975c37cfc23" 
  
  # random base64 string. 
  p SecureRandom.base64(10) #=> "EcmTPZwWRAozdA==" 
  p SecureRandom.base64(10) #=> "9b0nsevdwNuM/w==" 
  p SecureRandom.base64(10) #=> "KO1nIU+p9DKxGg==" 
  p SecureRandom.base64(11) #=> "l7XEiFja+8EKEtY=" 
  p SecureRandom.base64(12) #=> "7kJSM/MzBJI+75j8" 
  p SecureRandom.base64(13) #=> "vKLJ0tXBHqQOuIcSIg==" 
  
  # random binary string. 
  p SecureRandom.random_bytes(10) #=> "\016\t{\370g\310pbr\301" 
  p SecureRandom.random_bytes(10) #=> "\323U\030TO\234\357\020\a\337"
