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] Kiểm tra và loại bỏ đệm PKCS#7

    Trước khi sử dụng bản rõ đã giải mã, hệ thống cần kiểm tra đệm PKCS#7 có hợp lệ hay không rồi mới loại bỏ. Cho một khối dữ liệu có độ dài là bội số của kích thước khối nnn, gọi kkk là giá trị của byte cuối cùng. Đệm được coi là hợp lệ khi và chỉ khi:

    1. 1≤k≤n1 \le k \le n1≤k≤n, và
    2. kkk byte cuối cùng của dữ liệu đều có giá trị bằng đúng kkk.

    Nếu hợp lệ, loại bỏ kkk byte đệm để lấy lại bản tin gốc; nếu không hợp lệ (kể cả trường hợp dữ liệu rỗng), báo lỗi.

    Ví dụ: n=8n = 8n=8, dữ liệu hex 4142434445030303 → byte cuối là 03, ba byte cuối đều là 03 → hợp lệ, bản tin gốc là 4142434445.

    • Định dạng đầu vào:
      • Dòng 1: kích thước khối nnn (4≤n≤324 \le n \le 324≤n≤32).
      • Dòng 2: dữ liệu dưới dạng chuỗi hex, độ dài (số byte) luôn là bội số của nnn (có thể là chuỗi rỗng).
    • Định dạng đầu ra:

      Nếu đệm hợp lệ: in ra bản tin gốc dưới dạng hex chữ hoa (có thể là dòng trống nếu toàn bộ khối cuối là đệm). Nếu đệm không hợp lệ: in ra đúng chuỗi INVALID.

    Ví dụ:

    Đầu vào:

    8
    0808080808080808

    Đầu ra:

    
    

    Đầu vào:

    8
    4142434445030303

    Đầu ra:

    4142434445
    

    Đang tải editor...