Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】Random\Randomizer::getBytesFromString()メソッドの使い方

getBytesFromStringメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

getBytesFromStringメソッドは、指定された文字列(利用可能な文字の集合)からランダムにバイトを選択し、指定された長さの新しいバイト列を生成するメソッドです。このメソッドは、PHP 8で導入されたRandom拡張機能の一部として、Random\Randomizerクラスに属しています。

主に、英数字や記号など、特定の文字だけを用いて安全なパスワードやトークン、IDなどを生成したい場合にその真価を発揮します。このメソッドを利用するには、まずRandom\Randomizerクラスのインスタンスを作成します。次に、そのインスタンスを通じてgetBytesFromStringメソッドを呼び出します。

第一引数には、ランダムなバイトを生成するために使用される文字の集合を文字列として渡します。例えば、「abcdefghijklmnopqrstuvwxyz0123456789」のような文字列を指定できます。第二引数には、生成したいバイト列の長さを整数で指定します。

Random\Randomizerオブジェクトが持つ暗号学的に安全な乱数ジェネレーターが、この文字集合の中から指定された長さのバイトを無作為に選び出し、結果として一つのバイト文字列を返します。この機能は、従来の乱数生成関数よりも予測困難でセキュアな結果を保証するため、システムのセキュリティ要件が高い場所でのランダム文字列生成において、非常に重要な役割を担っています。開発者はこのメソッドを活用することで、脆弱性の低いランダムデータを簡単に組み込むことが可能です。

構文(syntax)

1<?php
2
3$randomizer = new Random\Randomizer();
4$sourceString = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
5$length = 16;
6$randomBytes = $randomizer->getBytesFromString($sourceString, $length);

引数(parameters)

string $string, int $length

  • string $string: ランダムなバイト列の生成元となる文字列
  • int $length: 生成するランダムなバイト列の長さ

戻り値(return)

string

指定された文字列からランダムに取得したバイト列を文字列として返します。

関連コンテンツ