Method: Random::Formatter#random_bytes

Defined in:
lib/securerandom.rb

#random_bytes(n = nil) ⇒ Object

SecureRandom.random_bytes generates a random binary string.

The argument n specifies the length of the result string.

If n is not specified or is nil, 16 is assumed. It may be larger in future.

The result may contain any byte: “\x00” - “\xff”.

require 'securerandom'

SecureRandom.random_bytes #=> "\xD8\\\xE0\xF4\r\xB2\xFC*WM\xFF\x83\x18\xF45\xB6"
SecureRandom.random_bytes #=> "m\xDC\xFC/\a\x00Uf\xB2\xB2P\xBD\xFF6S\x97"

If a secure random number generator is not available, NotImplementedError is raised.



137
138
139
140
# File 'lib/securerandom.rb', line 137

def random_bytes(n=nil)
  n = n ? n.to_int : 16
  gen_random(n)
end