ランダムな英数字の文字列を生成する

大文字と小文字を含めたランダムな英数字の文字列を生成したい。ということでメモ。

以下で大文字+小文字+数字な配列が得られます。多分かなりシンプルなスクリプトなはず。

> [('a'..'z'), ('A'..'Z'), (0..9)].map { |e| e.to_a }.flatten

これを使って、以下のようにすれば6桁のランダムな文字列が取得できそうです。

> (0..6).map { a.sample }.join
=> "7hvXUMA"

6桁あれば、訳568億通りの組み合わせがあるので、これから当分の世界の人口くらいなら余裕で超せそうです。

> p (26+26+10)**6  =>  56800235584

arkot.com