PHPではじめてのmt_rand()とrand()
目次
前提条件
PHPのmt_rand()とrand()
rand()とは
乱数(ランダムな数字)を生成する便利な関数だと思ってください。
mt_rand()とは
rand()と比較して、高速で擬似乱数の周期が長い(乱数として優秀な)乱数が生成できる関数だと思ってください。
仕様の変更
PHP 7.1からrand()/srand()がmt_rand()/mt_srand()のエイリアスになったようです。
問題
mt_rand()はmt_srand()で一度初期化してしまうと、シードの再初期化が出来ません。
結論
パスワードやアクセストークンなどセキュリティが必要なランダム文字列や乱数にmt_rand()やrand()を使わないようにしましょう。