(PHP 8 >= 8.3.0)
Random\Randomizer::getBytesFromString — 文字列からランダムにバイト列を取得する
   入力となる string
   から等確率に選択した、ランダムなバイト列を含む文字列を、
   指定された length だけ返します。
  
   特定のバイトが選ばれる確率は、
   入力となる string に占める割合に比例します。
   それぞれのバイトの頻度が同じ場合、
   それぞれのバイトが選ばれる確率は等しくなります。
  
string戻り値のために、バイト列が選択される文字列
length
       バイト単位で返されるランダムな文字列の長さ。
       1 以上でなければいけません。
      
   入力された string から取得したランダムなバイト列を、
   指定された長さだけ含む文字列を返します。
  
string が空の場合、
     ValueError がスローされます。
    
   length が 1 より小さい場合、
     ValueError がスローされます。
    
   Random\Randomizer::$engine に存在する
    Random\Engine::generate() メソッド
    がスローした、あらゆる Throwable がスローされます。
  
 例1 Random\Randomizer::getBytesFromString() の例
<?php
$randomizer = new \Random\Randomizer();
printf(
    "%s.example.com",
    $randomizer->getBytesFromString('abcdefghijklmnopqrstuvwxyz0123456789', 16)
);
?>上の例の出力は、 たとえば以下のようになります。
3zsw04eiubcf82jd.example.com
例2 2要素認証向けにランダムなコードを生成する
<?php
// The Secure engine is the default, but we make it explicit, because
// multi-factor codes are security sensitive.
$randomizer = new \Random\Randomizer(new \Random\Engine\Secure());
echo implode('-', str_split($randomizer->getBytesFromString('0123456789', 20), 5));
?>上の例の出力は、 たとえば以下のようになります。
11551-80418-27047-42075
例3 一様分布していない文字列から選択する
<?php
$randomizer = new \Random\Randomizer();
echo $randomizer->getBytesFromString('aaaaabcdef', 20);
?>上の例の出力は、 たとえば以下のようになります。
fddacbeaaeaaacaaaaca
