kharukaのブログ~お金と技術とキャリア~

Edu Fin~金融×教育~若いうちからお金について学ぶってだいじ!学んだテクノロジーはみんなの財産。過去、現在、将来の人生についてのブログ

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()を使わないようにしましょう。

参考