問題一覧
お問い合わせ
light_mode
dark_mode
残り時間:
00:00
速度:
0
文字/分
パスワード強度チェック
問題
パスワードの強度を評価し、改善点を提案するプログラムです。
入力例
Abc123456
出力例
パスワード強度: 4/4
スタート
参照コード
コピーはできません。自分でタイピングしてください。
<?php function checkPasswordStrength($password) { $strength = 0; $reasons = []; // 長さチェック if (strlen($password) >= 8) { $strength++; } else { $reasons[] = "パスワードは8文字以上必要です"; } // 大文字を含むかチェック if (preg_match('/[A-Z]/', $password)) { $strength++; } else { $reasons[] = "大文字が含まれていません"; } // 小文字を含むかチェック if (preg_match('/[a-z]/', $password)) { $strength++; } else { $reasons[] = "小文字が含まれていません"; } // 数字を含むかチェック if (preg_match('/[0-9]/', $password)) { $strength++; } else { $reasons[] = "数字が含まれていません"; } return ["strength" => $strength, "reasons" => $reasons]; } $password = trim(fgets(STDIN)); $result = checkPasswordStrength($password); echo "パスワード強度: {$result['strength']}/4 "; if (count($result['reasons']) > 0) { echo "改善点: "; foreach ($result['reasons'] as $reason) { echo "- {$reason} "; } } ?>
入力エリア
コンパイル&実行
3