securerandom.rb

Path: lib/compat/securerandom.rb
Last Update: Tue Jul 07 15:42:55 +0200 2009
SecureRandom dot/f_0.png

Secure random number generator interface.

This library is an interface for secure random number generator which is suitable for generating session key in HTTP cookies, etc.

It supports following secure random number generators.

  • openssl
  • /dev/urandom
  • Win32

Example

# 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" …

Required files

openssl   Win32API  

[Validate]