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) #=> “016t{370g310pbr301” p SecureRandom.random_bytes(10) #=> “323U030TO234357020a337” …