パスワードの自動発行



会員登録などの時にランダムなパスワードを発生する
ファンクションの作り方。

忘れてしまうのでMemo。

作ったのは以下

function random($length){
$passTmp = substr(str_shuffle('1234567890abcdefghijklmnopqrstuvwxyz'), 0, $length);
$passTmp = $passTmp.substr(date(U), -4);
return $passTmp;
}

えーっと、呼び出しはスクリプト内から、
$password = random(8);とかする。
するとstr_shuffleで予め与えてある1~zの組み合わせを答える。
substrは呼び出し時に指定した長さで切りだすわけですな。
それだけだと何かのタイミングで同じ文字列になる可能性もあるので、
絶対同じにならない仕掛けをひとつ。

それがdate(U)。
これは(PHP 5.2.2以降のみ対応)現在時刻のマイクロ秒ですな。
こいつを-4で後ろから4文字返したものを前の文字列に合体!

これで完全にユニークなパスワードが出来るはずです。きっと。
※これを使って何か損害を受けるような事態になっても、
例によって当方および当局は一切関知しないのでMission:Impossibleです。ハイ。

記事id:770 / 1999PV

関連記事