Kết nối qua MCP →

Nhập phép tính

Công thức

Quảng cáo

Kết quả

Mã băm SHA-256 (hex)
ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
256-bit (64 ký tự hex)
Thuật toán SHA-256 (họ SHA-2)
Độ dài đầu vào 3 bytes (UTF-8)
Kích thước đầu ra 32 byte / 256 bit

SHA-256 là gì?

SHA-256 là một thành viên của họ hàm băm mật mã SHA-2, được chuẩn hóa bởi NIST. Hàm này nhận đầu vào là một thông điệp có độ dài bất kỳ và tạo ra mã băm (digest) cố định 256-bit (32 byte), hiển thị tại đây dưới dạng 64 ký tự hệ thập lục phân (hex). Cùng một đầu vào luôn cho ra cùng một mã băm, nhưng chỉ cần thay đổi một ký tự cũng tạo ra kết quả hoàn toàn khác biệt — đây gọi là hiệu ứng thác lũ (avalanche effect). SHA-256 được dùng rộng rãi trong chứng chỉ TLS, chữ ký số, blockchain (Bitcoin) và kiểm tra tính toàn vẹn của tập tin.

Flat diagram showing input text passing through a SHA-256 function box and producing a fixed 64-character hexadecimal digest
SHA-256 maps any input to a fixed 256-bit (64 hex character) digest.

Cách sử dụng công cụ này

Hãy gõ hoặc dán bất kỳ đoạn văn bản nào vào ô nhập liệu rồi gửi đi. Công cụ sẽ mã hóa văn bản theo chuẩn UTF-8, chạy thuật toán SHA-256 và trả về mã băm hệ hex cùng với độ dài byte của đầu vào. Đầu vào để trống vẫn hợp lệ và sẽ cho ra mã băm nổi tiếng của chuỗi rỗng.

Giải thích công thức

$$\text{Hash} = \operatorname{SHA\text{-}256}\!\left(\text{Input Text}\right)$$

SHA-256 đệm (padding) thông điệp sao cho độ dài là bội số của 512 bit, chia nó thành các khối 512-bit, rồi xử lý từng khối qua 64 vòng với các phép toán trên bit (xoay vòng, dịch bit, AND/XOR, cộng modulo), trộn lẫn tám biến làm việc 32-bit được khởi tạo từ phần thập phân của căn bậc hai các số nguyên tố. Sau mỗi khối, tám thanh ghi này được cộng trở lại vào trạng thái băm đang chạy; ghép chúng lại sẽ cho ra mã băm 256-bit cuối cùng.

Flat diagram showing UTF-8 byte conversion step then SHA-256 producing a 256-bit output broken into eight 32-bit words
The input is first encoded as UTF-8 bytes, then hashed into a 256-bit digest of eight 32-bit words.

Ví dụ minh họa

Đầu vào abc (3 byte) tạo ra mã băm ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad. Chuỗi rỗng tạo ra e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 — một vector kiểm thử tiêu chuẩn.

Câu hỏi thường gặp

SHA-256 có đảo ngược được không? Không. Đây là một hàm một chiều; bạn không thể khôi phục đầu vào từ mã băm.

Tại sao số byte lớn hơn số ký tự của tôi? Các ký tự không thuộc bảng ASCII (dấu thanh, biểu tượng cảm xúc, chữ Trung-Nhật-Hàn) chiếm nhiều byte trong UTF-8, nên độ dài byte có thể vượt quá số lượng ký tự.

SHA-256 còn an toàn không? Có. Tính đến hiện tại chưa có cuộc tấn công va chạm (collision) hay tiền ảnh (preimage) khả thi nào nhắm vào SHA-256; nó vẫn là hàm băm được khuyến nghị cho mục đích sử dụng thông thường.

Cập nhật lần cuối: