0
のサイズ私は6つのランダム進文字を探しています、そしてRubyのSecureRandom
RubyのSecureRandomのとn
SecureRandom.hex(3)
を使用していますが、ランダムなデータの3つのバイトからアンパック6進文字を返します。
質問がありますか?SecureRandom.hex(6)[0,6]
アンパック前に6バイトのランダムデータがあったのでランダムな6桁の16文字を返しますか?その点については、SecureRandom.hex(16)[0,6]
はもっとランダムでしょうか?
私のアプリケーションでは、1600万を超えるユニークな値を持つ6文字しか必要ありませんが、私はできるだけ低い値に選んだ数値と衝突する可能性があります。だからランダムなバイトのために大きいn
を使用することは、スペース上のランダムな値の分布を改善するか、それは不要ですか?
このようなことを「よりランダム」にすることを開始するときはいつでも、ランダム性アリーナの主要なコードの匂いです。 6つのランダムな文字を与えるRNGの出力を信頼できない場合、16からの部分集合はもはやランダムではありません。 –