【PHP】大文字英字/小文字英字/数字混在のパスワード生成 #works

  • スポンサーリンク

  • スポンサーリンク

この記事は公開から2年、最終更新日からも2年経過しています。内容が古くなっている可能性があります。

半角英大文字、半角英小文字、半角数字がそれぞれ必ず1文字以上混在する文字列を生成する。
*substrを使っているので、長い文字列生成には不向きかも。。

$length = 8;    //生成したいパスワードの文字数
$upper_letter_length = random_int(1, $length - 2);   //半角英大文字の文字数
$upper_letter_strings = substr(str_shuffle('ABCDEFGHIJKLMNOPQRSTUVWXYZ'), 0, $upper_letter_length);   //半角英大文字のみのランダムな文字列生成
$lower_letter_length = random_int(1, $length - $upper_letter_length - 1);   //半角英小文字の文字数
$lower_letter_strings = substr(str_shuffle('abcdefghijklmnopqrstuvwxyz'), 0, $lower_letter_length);   //半角英小文字のみのランダムな文字列生成
$number_letter_length = $length - $upper_letter_length - $lower_letter_length;   //半角数字の文字数
$number_strings = substr(str_shuffle('1234567890'), 0, $number_letter_length);   //半角数字のみのランダムな文字列生成
 
$random_strings = str_shuffle($upper_letter_strings . $lower_letter_strings . $number_strings);   //最終的な文字列
  • スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA