Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [An toàn thông tin] Đánh giá độ mạnh mật khẩu

    Khi thiết kế hệ thống xác thực, một quy tắc đơn giản để đánh giá độ mạnh của mật khẩu là đếm số tiêu chí an toàn mà mật khẩu thỏa mãn.

    Cho một chuỗi mật khẩu SSS (đọc nguyên một dòng, có thể chứa khoảng trắng ở giữa, có thể rỗng). Xét 5 tiêu chí sau:

    1. Độ dài ∣S∣≥8|S| \ge 8∣S∣≥8;
    2. Chứa ít nhất một chữ cái in hoa (A-Z);
    3. Chứa ít nhất một chữ cái in thường (a-z);
    4. Chứa ít nhất một chữ số (0-9);
    5. Chứa ít nhất một ký tự đặc biệt (ký tự không phải chữ cái, không phải chữ số và không phải khoảng trắng).

    Gọi kkk (0≤k≤50 \le k \le 50≤k≤5) là số tiêu chí mà SSS thỏa mãn. Phân loại độ mạnh:

    • Nếu k≥4k \ge 4k≥4: STRONG;
    • Nếu 2≤k≤32 \le k \le 32≤k≤3: MEDIUM;
    • Nếu k≤1k \le 1k≤1: WEAK.

    Ví dụ: với S=S = S= Abcdefgh1, ta có độ dài 9≥89 \ge 89≥8, có chữ hoa A, có chữ thường, có chữ số 1, nhưng không có ký tự đặc biệt ⇒k=4⇒\Rightarrow k = 4 \Rightarrow⇒k=4⇒ kết quả là STRONG.

    • Định dạng đầu vào:

      Một dòng duy nhất chứa mật khẩu SSS (độ dài từ 000 đến 100100100 ký tự ASCII in được; dòng có thể rỗng).

    • Định dạng đầu ra:

      In ra đúng một trong ba chuỗi: STRONG, MEDIUM hoặc WEAK.

    Ví dụ:

    Đầu vào:

    abc
    

    Đầu ra:

    WEAK
    

    Đầu vào:

    
    

    Đầu ra:

    WEAK
    

    Đang tải editor...