Random\Randomizer::getBytes

ランダムなバイト列を取得する

説明

public string Random\Randomizer::getBytes(int $length)

等確率に選ばれるランダムなバイト列を含む、指定された長さ length の文字列を生成します。

返されるバイト列は完全にランダムに選ばれるため、 結果の文字列は印字できない文字や、 不正な UTF-8 のシーケンスとなる可能性があります。 よって、転送したり表示したりする時にはエンコードが必要かもしれません。

パラメータ

length

返すべきランダムな文字列の長さをバイト単位で指定します。1 以上でなければなりません。

戻り値

指定された長さの、ランダムなバイト列を含んだ文字列を返します。

エラー / 例外

  • length の値が 1 より小さい場合、 ValueError をスローします。
  • Random\Randomizer::$engine に存在する Random\Engine::generate メソッド がスローした、あらゆる Throwable がスローされます。

例1 Random\Randomizer::getBytes の例

<?php
$r 
= new \Random\Randomizer();

echo 
bin2hex($r->getBytes(8)), "\n";
?>

上の例の出力は、 たとえば以下のようになります。

ebdbe93cd56682c2

参考

  • random_bytes
  • base64_encode
  • Random\Randomizer::getBytesFromString