Tài sản mã hóaiCapital3 phút đọc

Hàm băm và SHA-256: kiểm tra dữ liệu bằng digest

Nội dung giáo dục và nghiên cứu, không phải tư vấn đầu tư cá nhân.

Hàm băm nhận dữ liệu đầu vào và tạo một giá trị tóm tắt gọi là digest. Với hàm băm mật mã phù hợp, digest giúp kiểm tra dữ liệu có thay đổi; nó không phải bản mã có thể giải ngược bằng một chiếc khóa.

SHA-256 là một thuật toán trong Secure Hash Standard của NIST. Đầu ra của nó dài 256 bit, thường được trình bày dưới dạng 64 ký tự hệ mười sáu. Việc thay cách trình bày không thay đổi giá trị đang được biểu diễn. Nguồn: NIST FIPS 180-4, Explanation và Parameters.

Tạo rồi so sánh digest

Có thể hiểu quá trình qua ba bước. Một là xác định chính xác dữ liệu đầu vào. Hai là chạy đúng thuật toán để tính digest. Ba là so digest mới với giá trị đối chiếu đáng tin cậy.

Nếu các giá trị không khớp, dữ liệu hoặc cách xử lý đầu vào đã khác. Nếu chúng khớp, kết quả hỗ trợ kiểm tra tính toàn vẹn trong những giả định bảo mật phù hợp; nó không tự xác nhận người gửi hoặc nguồn gốc của giá trị đối chiếu.

Khi so sánh, dấu cách, ký tự xuống dòng và cách mã hóa văn bản đều quan trọng. Người dùng thấy cùng một từ trên màn hình chưa đủ để kết luận phần mềm đã băm cùng một chuỗi byte.

Ví dụ tính được lại: abc và abd

iCapital tính SHA-256 bằng Python hashlib ngày 04/11/2026, sử dụng đúng các byte UTF-8 của chuỗi bên dưới, không kèm dấu cách hoặc xuống dòng:

Input SHA-256
abc ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
abd a52d159f262b2c6ddb724a61840befc36eb30c88877a4030b65cbe86298449c9

Phép tính cho thấy hai dữ liệu chỉ khác một ký tự đã có digest khác nhau. Đây là ví dụ tái tạo, không phải dữ liệu giao dịch hay chuỗi hash của một khối Bitcoin.

Hai digest là kết quả SHA-256 thật của “abc” và “abd” trong ví dụ của bài. Đổi một ký tự, digest đổi hoàn toàn.

“Dấu vân tay” chỉ là phép so sánh

NIST mô tả mục tiêu bảo mật gồm việc làm cho tìm đầu vào tương ứng hoặc hai đầu vào khác nhau cùng digest trở nên bất khả thi về tính toán trong giả định của thuật toán. Điều này khác với khẳng định toán học rằng không tồn tại va chạm: đầu ra hữu hạn vẫn có thể tương ứng nhiều đầu vào. Nguồn: FIPS 180-4, Explanation.

Hash cũng không tự che giấu dữ liệu ít khả năng lựa chọn. Nếu đầu vào có thể đoán, một bên có thể thử các khả năng rồi so kết quả. Vì thế, không nên coi việc công bố digest là phương án bảo mật thích hợp cho mọi dữ liệu nhạy cảm.

Bitcoin dùng hash ở đâu?

Hash xuất hiện trong nhiều cấu trúc, nhưng mỗi ứng dụng có mục tiêu riêng. Cần theo đường dẫn tới cấu trúc cụ thể thay vì gộp mọi lần băm vào một chức năng chung hoặc suy từ hash sang “không thể sửa dữ liệu”.

Kết luận

Hàm băm biến dữ liệu thành một digest có độ dài cố định; chỉ cần đổi một ký tự, digest đã khác hẳn — như ví dụ abc và abd. Nhờ vậy, hash rất hữu ích để phát hiện dữ liệu bị thay đổi, nhưng nó không phải mã hóa và không tự chứng minh dữ liệu là đúng. Trong Bitcoin, hash xuất hiện ở nhiều cấu trúc, mỗi nơi với một mục đích riêng.

Đọc tiếp

Đọc Cơ chế blockchain, Mạng Bitcoin, Mật mã học, Merkle tree, Proof of Work và Thư viện thuật ngữ.

Lưu ýBài viết nhằm mục đích cung cấp thông tin và giáo dục, không phải tư vấn đầu tư, pháp lý hay thuế và không phải khuyến nghị mua, bán hoặc nắm giữ bất kỳ tài sản mã hóa nào. Tài sản mã hóa có rủi ro cao, gồm biến động giá, mất quyền kiểm soát khóa và thay đổi pháp lý. Thông tin đúng tại ngày cập nhật ghi trên bài và có thể thay đổi sau đó.Cập nhật lần cuối: