RNG = '/dev/random'
def create_secret( length=32 )
secret = []
for i in 1..length do
byte = File.read( RNG, 1 )
while( byte.ord < 33 || byte.ord > 126 )
byte = File.read( RNG, 1 )
end
secret << byte
end
secret.join
end
RNG = '/dev/urandom'
def create_secret_b64( length=32 )
rs = File.read( RNG, length )
[rs].pack("m*").gsub('/','').gsub("\n",'').gsub('+','')[0,length]
end