Ruby 2.7.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Randomクラス > urandom

singleton method Random.urandom

urandom(size) -> String[permalink][rdoc]

プラットフォームの提供する機能を使って、文字列を返します。

[PARAM] size:
結果の文字列のサイズをバイト数で指定します。
[RETURN]
返り値はバイナリ形式で、暗号的に安全な擬似乱数だと期待できます。
[EXCEPTION] RuntimeError:
プラットフォームの提供する機能の準備に失敗した場合に発生します。

2017年の時点で、Linuxのmanpage(random(7))には「今日256ビット以上のセキュリティを約束できる暗号化プリミティブが入手可能だとは期待できません」と書いてあります。そのため、sizeとして32より大きい値を指定することには疑問の余地があります。



Random.urandom(8)  #=> "\x78\x41\xBA\xAF\x7D\xEA\xD8\xEA"