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

php_program_top

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

 

さいごに

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

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

 

 

ウェブプログラミングについては下記の本も参考になるので、スキルアップにお役立てください。

徳丸 浩(著)
ページ数: 688ページ
出版社:SBクリエイティブ
発売日:2018/06/21

出典:amazon