Flowdock
v2.3.8 - Show latest stable - 1 note

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

Note: This module is based on the SecureRandom library from Ruby 1.9, revision 18786, August 23 2008. It’s 100% interface-compatible with Ruby 1.9’s SecureRandom library.

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"
 ...
Show files where this module is defined (1 file)
Register or log in to add new notes.
March 22, 2012 - (>= v3.1.0)
2 thanks

Deprecation in 3.1+

In Rails 3.1 and higher, just use ruby’s SecureRandom, e.g.

Before

ActiveSupport::SecureRandom.hex

After

SecureRandom.hex