Generate randon string of fixed length (in bytes)

Hi, I use the following method to generate a random string:

def gen_token(len=6)
  rand(36**len).to_s(36)
end

It’s the most efficiente way I’ve found. However even if the parameter
is 6, the method sometimes returns a string of lenght 5, 4…

Is there an efficient way to a random string with fixed length? (I
don’t want to check the resulting length and then append some other
byte…).

Thanks a lot.

2011/1/27 Iñaki Baz C. [email protected]:

don’t want to check the resulting length and then append some other
byte…).

In fact, what I need is to generate a Base64 encoded string of a fixed
length. And I’ve found right now the SecureRandom.base64(n) method in
Ruby 1.9 :slight_smile: