Facebook にシェア
[`evernote` not found]
LINEで送る

任意の桁数のパスワードを自動で作成してくれる関数があったのでメモ。
Generate a password in php


上記サイトに詳しく載っていますが、利用したいPHPで

function generatePassword($length=9, $strength=0) {
	$vowels = 'aeuy';
	$consonants = 'bdghjmnpqrstvz';
	if ($strength >= 1) {
		$consonants .= 'BDGHJLMNPQRSTVWXZ';
	}
	if ($strength >= 2) {
		$vowels .= "AEUY";
	}
	if ($strength >= 4) {
		$consonants .= '23456789';
	}
	if ($strength >= 8 ) {
		$vowels .= '@#$%';
	}

	$password = '';
	$alt = time() % 2;
	for ($i = 0; $i < $length; $i++) {
		if ($alt == 1) {
			$password .= $consonants[(rand() % strlen($consonants))];
			$alt = 0;
		} else {
			$password .= $vowels[(rand() % strlen($vowels))];
			$alt = 1;
		}
	}
	return $password;
}

という関数を制作してパスワードを表示したいところで

<?php echo generatePassword();?>

と出力するだけでOKです。
引数は二つあり、一つ目がパスワードの桁数(デフォルト8桁)で、二つ目がパスワード強度になっています。
パスワード強度(初期値0)が低いと使われる文字は英小文字だけですが、強度を増やしていくと大文字や数字、記号などが増えていきます。
簡単なパスワードを作成するだけならこれで十分つかえそうです。