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.

···

--
Iñaki Baz Castillo
<ibc@aliax.net>

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:

···

2011/1/27 Iñaki Baz Castillo <ibc@aliax.net>:

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....).

--
Iñaki Baz Castillo
<ibc@aliax.net>