ランダムなパスワードを自動生成する

スポンサーリンク

さまざまなサービスでユーザー登録時などに使えるパスワードを自動生成する方法はいくつかあります。しっかりしたライブラリもあるとは思いますが、ここでは手作りで英数字(大文字・小文字)を組み合わせてランダムにパスワードを生成するコードの例を紹介します。

仕組みは簡単で、大文字と小文字のアルファベットと0から9までの数字を配列に格納してシャッフル(ランダム順に並べ替え)して、先頭の8文字を取得しています。

<?php
$num = 8; // パスワードの文字数
$ar1 = range('a', 'z'); // アルファベット小文字を配列に
$ar2 = range('A', 'Z'); // アルファベット大文字を配列に
$ar3 = range(0, 9); // 数字を配列に
$ar_all = array_merge($ar1, $ar2, $ar3); // すべて結合
shuffle($ar_all); // ランダム順にシャッフル
echo substr(implode($ar_all), 0, $num); // 先頭の8文字
?>

○実行結果

EbJtvsUT

ふわっと仕上げです。「記号も使いたい」など細かい希望もあると思いますので、あとは自由に調整してください。

PHPの基礎が身に付いたかチェックするなら

PHP「直す力」養成ドリル
スポンサーリンク