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] Xác thực toàn vẹn dữ liệu bằng SHA-256

    Trong điều tra số, trước khi phân tích một tang vật (evidence) — ví dụ ảnh đĩa, tệp nhật ký — điều tra viên phải chứng minh dữ liệu không bị chỉnh sửa so với thời điểm thu giữ, bằng cách so sánh giá trị băm SHA-256 hiện tại với giá trị đã ghi nhận trong biên bản (chain of custody).

    Cho nội dung của một tệp (dưới dạng chuỗi văn bản UTF-8) và một giá trị băm SHA-256 kỳ vọng (dạng hex, không phân biệt hoa/thường). Hãy tính SHA-256 của nội dung và cho biết nó có khớp với giá trị kỳ vọng hay không.

    Ví dụ: với nội dung hello, SHA-256 là 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824. Nếu giá trị kỳ vọng đúng bằng chuỗi này (không phân biệt hoa thường) thì kết quả là MATCH.

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

      Dòng 1: nội dung tệp (một dòng văn bản UTF-8, có thể rỗng, có thể chứa khoảng trắng ở đầu/cuối — giữ nguyên khi tính băm). Dòng 2: giá trị SHA-256 kỳ vọng, biểu diễn hệ hex 64 ký tự (chấp nhận cả chữ hoa lẫn chữ thường).

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

      In ra đúng một dòng: MATCH nếu SHA-256(nội dung) trùng với giá trị kỳ vọng (không phân biệt hoa/thường), ngược lại in MISMATCH.

    Ví dụ:

    Đầu vào:

    hello
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

    Đầu ra:

    MISMATCH
    

    Đầu vào:

    hello
    2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

    Đầu ra:

    MATCH
    

    Đang tải editor...