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.
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).
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...