ランダムパスワード生成

ランダムなパスワードを生成するモジュール

PHP

/** * * ランダムパスワード生成 * * @param boolean $u_alpha_flg * @param boolean $num_flg * @param boolean $symbol_flg * @param integer $length * @return string */ function getPassword($u_alpha_flg = TRUE, $num_flg = TRUE, $symbol_flg = FALSE, $length = 8) { // 文字列(l/1/I,o/0/O,q/9を除外するならarrayを使用) // a~z $l_alpha = range('a', 'z'); // $l_alpha = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'm', 'n', 'p', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'); // A~Z $u_alpha = range('A', 'Z'); // $u_alpha = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'); // 0~9 $num = range('0', '9'); // $num = array('2', '3', '4', '5', '6', '7', '8'); $symbol = array('-', '_'); // パスワードに含む文字列を絞り込み if (! $u_alpha_flg) { $u_alpha = array(); } if (! $num_flg) { $num = array(); } if (! $symbol_flg) { $symbol = array(); } // 文字列をマージ $char = array_merge($l_alpha, $u_alpha, $num, $symbol); srand((float)microtime() * 1000000); // 指定桁数のパスワード生成 $str = ""; for ($i = 0; $i < $length; $i++) { $str = $str . $char[rand(0, count($char)-1)]; } return $str; }

サンプル

このページ以降に紹介するPHPのリファレンスはクラス形式ではなく単純なメソッド形式で紹介していますが、実際に使うときはクラス形式にしていますよ。

最新の記事

プロフィール

流されるままにウェブ業界で仕事しています。主にLAPP環境でPHPを書いています。最近はjQueryで遊んでいます。
※動作確認について