【PHP8.x】random_bytes関数の使い方
作成日: 更新日:
『random_bytes関数は、暗号学的に安全なランダムなバイト列を生成する関数です』この関数は、オペレーティングシステムが提供する信頼性の高い乱数ソースを利用して、予測することが極めて困難な質の高い乱数を生成します。そのため、セッションID、パスワードリセット用のトークン、APIキー、暗号化キーといった、セキュリティが重要となる場面で推測不可能な値を生成するのに最適です。従来のrand()
やmt_rand()
といった関数も乱数を生成しますが、これらは統計的な目的で設計されており予測可能であるため、セキュリティ関連の用途には絶対に使用してはいけません。random_bytes
関数は、引数に生成したいバイトの長さを整数で指定すると、その長さのランダムなバイト列を文字列として返します。返される値はバイナリデータであり、必ずしも人間が読める文字で構成されているとは限りません。引数に0以下の整数を指定するなど、不正な値が渡された場合にはValueError
例外が発生します。この関数は、現代のPHPアプリケーションにおいて、安全なランダムデータを生成するための標準的な方法です。
基本的な使い方
構文(syntax)
$bytes = random_bytes(int $length);
引数(parameters)
int $length
- int $length: 生成するランダムなバイト列の長さをバイト単位で指定する整数
戻り値(return)
string
指定されたバイト数分の、暗号学的に安全なランダムなバイト列を文字列として返します。