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] Kéo giãn khóa bằng băm SHA-256 lặp

    Key stretching bằng băm lặp

    Một cách kéo giãn khóa đơn giản: băm mật khẩu bằng SHA-256 lặp lại nhiều vòng. Càng nhiều vòng thì kẻ tấn công càng tốn thời gian cho mỗi lần đoán.

    Quy tắc:

    • x = password (dạng byte)
    • Lặp rounds lần: x = SHA256(x) (lấy digest nhị phân)
    • In x dạng hex.

    Ví dụ: password=abc, rounds=1 → SHA256("abc") = ba7816bf....

    Input:
    abc
    1
    Output:
    ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
    
    • Định dạng đầu vào:

      Dòng 1: password. Dòng 2: số vòng rounds.

    • Ràng buộc đầu vào:

      1 <= rounds <= 100000.

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

      Một dòng: giá trị băm cuối cùng dạng hex (64 ký tự).

    Ví dụ:

    Đầu vào:

    abc
    1
    

    Đầu ra:

    ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad

    Giải thích:

    1 vòng = SHA256('abc').

    Đang tải editor...