Một hệ thống lưu trữ mật khẩu người dùng dưới dạng H=SHA256(T∥P), trong đó T là salt cố định của tài khoản và P là mật khẩu đúng. Khi người dùng đăng nhập với một mật khẩu ứng viên C, hệ thống chấp nhận đăng nhập nếu và chỉ nếu SHA256(T∥C)=H.
Cho salt T, giá trị băm đã lưu H (dạng hex, không phân biệt hoa/thường khi so sánh), và n lượt thử đăng nhập với các mật khẩu ứng viên C1,C2,…,Cn. Với mỗi lượt thử, hãy cho biết đăng nhập có thành công hay không.
Ví dụ: T= xyz, H=SHA256("xyzletmein2024"), ứng viên letmein2024 ⇒ OK; ứng viên letmein2025 ⇒ FAIL.
Dòng 1: salt T (có thể rỗng). Dòng 2: giá trị băm đã lưu H (chuỗi hex). Dòng 3: số nguyên n (0≤n≤1000) — số lượt thử đăng nhập. n dòng tiếp theo: mỗi dòng là một mật khẩu ứng viên Ci (có thể rỗng).
In ra n dòng, dòng thứ i là OK nếu SHA256(T∥Ci)=H (so sánh không phân biệt hoa/thường của chuỗi hex), ngược lại in FAIL. Nếu n=0 thì không cần in gì ngoài một dòng trống.
Ví dụ:
Đầu vào:
240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9
3
admin123
Admin123
admin124
Đầu ra:
OK
FAIL
FAIL
Đầu vào:
xyz
480ef3e8a6b8b569731265615a7036d747c6c6bd2a01a128fb751bc88e1ca684
2
letmein2024
letmein2025
Đầu ra:
OK
FAIL
Đang tải editor...