PHP でパスワード(ランダムな文字列)を生成する

PHP でパスワード(ランダムな文字列)を生成する

php_program_top

PHP プログラムによるパスワードの作り方

インターネットで検索するとパスワードを作成するプログラムは見つかるものの、アルファベット小文字や大文字だけで文字列を作るプログラムが多く、文字列の長さを設定するだけのものがほとんど。

ただパスワードの生成である以上、

・アルファベット(大文字)
・アルファベット(小文字)
・数字
・記号

を ON / OFF できる汎用的なプログラムが欲しいと思いましたが、見当たらなかったので自分で作成してみました。

Advertisement

パスワードを生成するプログラム

プログラムを作成するにあたり、機能を詰め込んだので補足情報を記載しておきます。

パスワードの生成としている関係上、似通った文字を省く機能が欲しいので、変数「$isResembleStr」を設定しています。「$isResembleStr = true」で関数を呼び出してもらうと似通った文字である

「I = 英字(大文字)のアイ」
「l = 英字(小文字)のエル」
「1 = 数字のイチ」
「O = 英字(大文字)のオー」
「o = 英字(小文字)のオー」
「0 = 数字のゼロ」

の6つを含まない文字列を作成します。

次に変数「$isSymbol = true」と記号も文字列として使用する場合は、下記の16種類が選択される可能性があります。

!#$%&?*+–_|~,.:;

補足説明は以上となります。

パスワードを生成するサンプルプログラム

Advertisement

さいごに

PHP7.2 にて動作検証していますが、細かい動作要件は確認していないのでご自身の環境に合わせて調整して下さい。

なお配列の定義に array を使っていないので、PHP5.4必須なはずです(苦笑)

 

この記事が気に入ったら
いいね ! をお願いします

Twitter で

web開発カテゴリの最新記事