CodeKitHub
Công cụ Tạo dữ liệu

Mã hóa/Giải mã SHA-256 Online

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

Nhiều người tìm kiếm "giải mã SHA-256" với hy vọng có thể khôi phục hash thành văn bản gốc — nhưng SHA-256 được thiết kế là hàm một chiều, nên điều đó không thể thực hiện được. Điều công cụ này thực sự làm là tạo hash SHA-256 từ bất kỳ văn bản nào ngay lập tức, hoặc kiểm tra xem một đoạn văn bản có khớp với hash bạn đã có hay không. Mọi hash SHA-256 luôn dài 256 bit — viết dưới dạng 64 ký tự thập lục phân — dù đầu vào là một từ hay cả một tệp tin. Toàn bộ quá trình băm diễn ra cục bộ trong trình duyệt của bạn thông qua Web Crypto API; văn bản của bạn không bao giờ được truyền đi.

SHA-256

Công Cụ Này Là Gì?

SHA-256 (Secure Hash Algorithm 256-bit) biến bất kỳ đầu vào nào thành dấu vân tay thập lục phân cố định gồm 64 ký tự. Cùng một đầu vào luôn cho ra cùng một hash, và chỉ cần thay đổi một ký tự cũng cho ra kết quả hoàn toàn khác. Đây là một phần của họ SHA-2, được NSA công bố và được NIST chuẩn hóa vào năm 2001.

Khác với MD5 và SHA-1, SHA-256 chưa có tấn công va chạm (collision) hay tấn công tiền ảnh (preimage) thực tế nào được biết đến, và vẫn là tiêu chuẩn bảo mật hiện hành. Nó là nền tảng cho chứng chỉ TLS, Bitcoin và các blockchain khác, ký mã nguồn, và các phương án băm mật khẩu (thường kết hợp với một hàm dẫn xuất khóa chậm).

"Giải mã" một hash SHA-256 — tính ra đầu vào gốc chỉ từ hash — là bất khả thi về mặt tính toán theo thiết kế: có 2^256 đầu ra khả dĩ, và hàm này cố tình loại bỏ thông tin nên không thể chạy ngược lại. Các trang gọi là "bộ giải mã SHA-256" thực chất chỉ tra cứu hash trong những bảng tính sẵn khổng lồ chứa các đầu vào phổ biến (từ điển, mật khẩu thường gặp) — chúng không thực sự đảo ngược thuật toán, và các đầu vào độc nhất hoặc ngẫu nhiên sẽ không thể tìm thấy.

Tại Sao Nên Dùng?

  • Tạo hash SHA-256 để xác minh một tệp tin hoặc văn bản không bị thay đổi.
  • Kiểm tra xem mật khẩu hoặc tệp tin có khớp với checksum SHA-256 đã biết hay không, mà không cần để lộ giá trị gốc.
  • Tạo khóa cache và checksum toàn vẹn có tính xác định và chống va chạm.
  • Xác nhận SHA-256 của tệp đã tải xuống so với checksum do nhà phát hành công bố.
  • 100% cục bộ: văn bản của bạn không bao giờ rời khỏi trình duyệt.

Cách Sử Dụng

  1. Nhập hoặc dán văn bản của bạn vào ô nhập liệu.
  2. Nhấp "Tạo Hash".
  3. Đọc kết quả SHA-256 gồm 64 ký tự (chọn "Kết quả chữ in hoa" nếu hệ thống của bạn yêu cầu chữ hoa).
  4. Nhấp "Sao chép", hoặc so sánh trực tiếp với một giá trị đã biết để xác minh sự trùng khớp.

Ví dụ

Đầu vào

hello

Đầu ra

SHA-256: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

Việc băm có tính xác định: "hello" luôn cho ra đúng giá trị 64 ký tự này trên mọi công cụ, mọi lúc.

Tại sao "giải mã" là từ không chính xác cho SHA-256

Mã hóa (encryption) và băm (hashing) thường bị nhầm lẫn, nhưng chúng giải quyết các vấn đề khác nhau. Mã hóa được thiết kế có thể đảo ngược — với đúng khóa, bản mã có thể trở lại thành bản rõ. Băm được cố tình thiết kế một chiều: SHA-256 nén một đầu vào có kích thước bất kỳ thành dấu vân tay cố định 256 bit, loại bỏ thông tin trong quá trình đó, nên không tồn tại khóa nào có thể đảo ngược nó. Chính đặc tính này khiến nó hữu ích cho việc kiểm tra tính toàn vẹn và chữ ký số — nếu có thể đảo ngược, nó sẽ không còn đáng tin cậy.

Những người tìm kiếm "giải mã SHA-256" thực sự cần gì

  • Tạo hash từ một đầu vào đã biết, để công bố làm checksum hoặc so sánh sau này — được đáp ứng trực tiếp bởi công cụ này.
  • Xác minh xem một giá trị ứng viên có tạo ra kết quả SHA-256 đã biết hay không, ví dụ xác nhận một phỏng đoán mật khẩu hoặc tệp tin chưa bị thay đổi — băm ứng viên rồi so sánh chuỗi kết quả.
  • Tra cứu xem một hash có khớp với đầu vào phổ biến đã biết (như một từ trong từ điển) thông qua dịch vụ bảng cầu vồng (rainbow table) hay không — đây không phải là giải mã, chỉ là chỉ mục ngược của các giá trị phổ biến đã được băm sẵn, và sẽ thất bại với bất kỳ đầu vào độc nhất hoặc đủ ngẫu nhiên nào.
  • Xác nhận tệp đã tải xuống khớp với checksum SHA-256 do nguồn công bố, để phát hiện hỏng hóc hoặc can thiệp.

SHA-256 trong thực tế

SHA-256 bảo vệ quá trình bắt tay TLS/SSL đằng sau biểu tượng ổ khóa trên trình duyệt của bạn, xác minh rằng chứng chỉ chưa bị can thiệp. Đây là thuật toán băm đứng sau việc đào bằng chứng công việc (proof-of-work) của Bitcoin và liên kết các khối, đồng thời được dùng để ký các gói phần mềm và image container để một bản tải xuống có thể được xác minh so với checksum của nhà phát hành. Không gian đầu ra 256 bit của nó (2^256 giá trị khả dĩ) khiến va chạm ngẫu nhiên hoặc cố ý gần như không thể xảy ra với sức mạnh tính toán hiện tại và trong tương lai gần, đó là lý do nó vẫn là lựa chọn mặc định ở những nơi MD5 hoặc SHA-1 không còn được chấp nhận.

Cần so sánh nhiều thuật toán cùng lúc?

Nếu bạn muốn xem MD5, SHA-1, SHA-256, SHA-384 và SHA-512 của cùng một văn bản đặt cạnh nhau thay vì từng cái một, hãy dùng công cụ so sánh đa thuật toán của chúng tôi.

Công Cụ Tạo Hash Đa Thuật Toán

Câu Hỏi Thường Gặp

Tôi có thể giải mã hash SHA-256 để lấy lại văn bản gốc không?

Không — SHA-256 được thiết kế là hàm một chiều; không thể tính toán ra văn bản gốc từ hash bằng toán học. Các công cụ "giải mã SHA-256" trực tuyến chỉ tra cứu hash trong những bảng tính sẵn khổng lồ chứa các đầu vào phổ biến, nên văn bản độc nhất hoặc ngẫu nhiên sẽ không bao giờ được khôi phục theo cách này.

Nếu không thể giải mã, làm sao để "giải mã" (decode) hash SHA-256?

Hầu hết những người tìm kiếm điều này thực ra muốn một trong ba việc: tạo hash từ văn bản (dùng công cụ này), xác minh xem một văn bản có tạo ra một hash cụ thể đã biết hay không (băm rồi so sánh), hoặc kiểm tra tính toàn vẹn của tệp so với checksum đã công bố. Cả ba việc đều được đáp ứng ở đây, không cần đảo ngược hash.

SHA-256 có an toàn để lưu trữ mật khẩu không?

Chỉ dùng SHA-256 đơn thuần không phải là lý tưởng — nó tính toán nhanh, khiến việc dò mật khẩu yếu bằng brute-force trở nên rẻ trên phần cứng hiện đại. Với mật khẩu, hãy dùng hàm dẫn xuất khóa chậm như bcrypt, scrypt hoặc Argon2, lý tưởng là dùng SHA-256 như một thành phần chứ không phải toàn bộ phương án.

Tại sao cùng một văn bản lại cho hash khác nhau ở công cụ khác?

Thường là do những khác biệt vô hình: một dấu xuống dòng hoặc khoảng trắng thừa ở cuối, ký tự xuống dòng khác nhau (\r\n so với \n), hoặc mã hóa văn bản khác nhau. Đầu vào giống hệt nhau ở cấp độ byte luôn cho ra hash SHA-256 giống hệt nhau.

SHA-256 có bị phá vỡ như MD5 hay SHA-1 không?

Không. Cả MD5 (128-bit) và SHA-1 (160-bit) đều có tấn công va chạm thực tế và được coi là đã bị phá vỡ đối với mục đích bảo mật. SHA-256 (256-bit) chưa có tấn công thực tế nào được biết đến và vẫn là tiêu chuẩn hiện hành cho TLS, blockchain và chữ ký số.

Văn bản của tôi có được gửi lên máy chủ để băm không?

Không. SHA-256 được tính toán hoàn toàn bằng Web Crypto API tích hợp sẵn trong trình duyệt của bạn — mọi thứ ở lại trên thiết bị của bạn và không bao giờ được truyền đi.

Công Cụ Liên Quan