みなさん、PHP で乱数を作成する際に何を使ってますか?それって本当に安全ですか?
PHP は乱数生成器をたくさん実装されていますが、いったいどれを使えばいいでしょう。
「rand()」「mt_rand()」「random_int()」「random_bytes()」「openssl_random_pseudo_bytes()」これらの違いを皆さんはご存知でしょうか。
そもそも乱数とは何か?安全な乱数とはどのような基準なのか?どのような実装なのか?といった、乱数に関する基礎知識の解説を交えながら、PHP における乱数生成アルゴリズムについて解説します。
みんなで PHP 実装における闇の片鱗に触れましょう。