HOMESEO TOOL >PHP関数 備忘録:ランダムパスワード生成(英数字混在):DW230

PHP関数 備忘録:ランダムパスワード生成(英数字混在):DW230

ランダムパスワード生成(英数字混在)
呼び出すだけだと選択されなかったり重複が多かったりするので重複せず必ず混在させる方法を考える
※リストから呼び出しているのは使いたくない文字を含めないため

■簡単な方法はリストを作って array_rand() 関数で呼び出せば取得できます
例)リストから8桁取得する場合 結果  7gsyFRSU
使用したい数字を上記の $ar = array(ここにドット区切りで入れる);
array_rand で8個取り出すというシンプルなものですが、この方法だと
array_rand はセットされた左から呼び出すので数字、小文字、大文字の順番になってしまう

■上記の方法から順番を無くすために3つのリストを作る
例)数字、小文字、大文字のリストから取得する場合 結果  58HK8rdC
3つのリストをランダムで呼び出すことで数字、小文字、大文字の順番が無くなります
この方法だと"必ず英数字混在"にはならない(全部数字、全部小文字などの奇跡が起きるかもしれない)

■上記の方法から"必ず英数字混在"する方法を考える
例)数字、小文字、大文字を混在させて取得する場合 結果  4SkSD5z5
リストをもう1つ作ってランダムに並び替える(shuffle)ことで全部の文字を使う
この方法だと"必ず英数字混在"になる


TOPへ    
・用途 使用例 使用関数
ランダムパスワード生成(数字) PASS:5832 array_rand() if() for
ランダムパスワード生成(英数字混在) PASS:2MK75xv2M array_rand() if() array() 他
フッター用タイムスタンプ 2017/02/25 13:47:27 time() gmdate()
日数のカウントダウン オリンピックまで あと1246日 time() strtotime() ceil()
転送と条件付き転送   header() if() $_SERVER[]

Copyright (C) 2001-2017 Digital World Corporation. All Rights Reserved.