Công Cụ Này Là Gì?
Hàm hash nhận bất kỳ đầu vào nào và biến nó thành một chuỗi ký tự hex có độ dài cố định gọi là digest. Cùng một đầu vào luôn cho ra cùng một digest, và chỉ cần thay đổi một ký tự thôi cũng tạo ra kết quả hoàn toàn khác. Công cụ này chạy đồng thời năm thuật toán phổ biến — MD5, SHA-1, SHA-256, SHA-384 và SHA-512 — trên cùng một đầu vào để bạn dễ so sánh hoặc lấy đúng loại mình cần.
Các digest này là một chiều: về mặt toán học, không thể tái tạo lại văn bản gốc từ một mã hash. Những trang web tự nhận "giải mã" hash trên mạng thực chất chỉ đang tra cứu — trang đó kiểm tra xem hash của bạn có trùng với một trong hàng tỷ hash đã tính sẵn cho các mật khẩu và cụm từ thông dụng hay không. Nếu đầu vào của bạn không nằm trong bảng đó, nó không thể tìm ra được, vì đơn giản là không tồn tại hàm nghịch đảo nào để chạy.
Họ SHA-2 (SHA-256, SHA-384, SHA-512) được NIST chuẩn hóa trong FIPS 180-4 và vẫn chưa bị phá vỡ. MD5 và SHA-1 lại là câu chuyện khác: các cuộc tấn công va chạm thực tế đã được chứng minh trên MD5 vào năm 2004 và trên SHA-1 vào năm 2017 (cuộc tấn công "SHAttered"), nên cả hai đều bị coi là đã bị phá vỡ về mặt mật mã học.
Tại Sao Nên Dùng?
- Tính năm thuật toán hash cùng lúc thay vì phải chuyển qua lại giữa nhiều công cụ.
- So sánh checksum MD5, SHA-1 hoặc SHA-256 với giá trị được công bố để xác minh tính toàn vẹn.
- Tạo digest SHA-384 hoặc SHA-512 mạnh hơn cho các ứng dụng yêu cầu đầu ra dài hơn.
- Xây dựng ID hoặc cache key xác định từ văn bản bất kỳ.
- 100% cục bộ: đầu vào của bạn không bao giờ rời khỏi trình duyệt, an toàn cho cả văn bản nhạy cảm.
Cách Sử Dụng
- Gõ hoặc dán văn bản của bạn vào ô nhập.
- Nhấn "Generate".
- Xem kết quả MD5, SHA-1, SHA-256, SHA-384 và SHA-512 (tích "Uppercase output" nếu hệ thống đích của bạn yêu cầu chữ hoa).
- Nhấn "Copy" bên cạnh mã hash bạn cần.
Ví dụ
Đầu vào
helloĐầu ra
MD5: 5d41402abc4b2a76b9719d911017c592
SHA-1: aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d
SHA-256: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824Hash luôn xác định: "hello" cho ra đúng những giá trị này ở mọi công cụ, mọi lúc.
Chỉ cần một thuật toán?
Nếu bạn đã biết mình cần thuật toán nào và không muốn các thuật toán khác làm rối giao diện, các công cụ chuyên biệt một thuật toán của chúng tôi sẽ giúp bạn xem kết quả nhanh hơn.
So sánh năm thuật toán
Cả năm đều là hàm hash một chiều, nhưng khác nhau về độ dài đầu ra và mức độ an toàn.
| Thuật toán | Kích thước đầu ra | Tình trạng bảo mật | Ứng dụng phổ biến |
|---|---|---|---|
| MD5 | 128-bit (32 ký tự hex) | Đã bị phá vỡ — có thể tạo va chạm (collision) chủ đích | Checksum, cache key, khử trùng lặp |
| SHA-1 | 160-bit (40 ký tự hex) | Đã bị phá vỡ — tấn công va chạm thực tế đã tồn tại từ 2017 | Chỉ dùng để tương thích với hệ thống cũ |
| SHA-256 | 256-bit (64 ký tự hex) | An toàn, tiêu chuẩn ngành hiện hành | Chữ ký số, TLS, blockchain, kiểm tra toàn vẹn |
| SHA-384 | 384-bit (96 ký tự hex) | An toàn, đầu ra dài hơn SHA-256 | Chữ ký độ tin cậy cao, một số cấu hình TLS/PKI |
| SHA-512 | 512-bit (128 ký tự hex) | An toàn, đầu ra dài nhất trong danh sách này | Ứng dụng yêu cầu độ dài digest tối đa |
Các trường hợp sử dụng phổ biến
- Xác minh file tải về khớp với checksum do nhà phát hành công bố trước khi chạy nó.
- Tạo cache key hoặc ID xác định từ văn bản bất kỳ.
- Kiểm tra hai tài liệu hoặc bản ghi có giống hệt nhau từng byte hay không mà không cần so sánh trực tiếp.
- Tạo digest mạnh hơn (SHA-384/SHA-512) khi một ứng dụng cụ thể yêu cầu.
Câu Hỏi Thường Gặp
Tôi có thể giải mã một hash về lại văn bản gốc không?
Không. Hashing được thiết kế theo nguyên lý một chiều — không có khóa và không có phép toán nào đảo ngược digest về đầu vào ban đầu. Những trang tự nhận "giải mã MD5" hay "giải mã SHA-256" thực chất chỉ đang tìm trong một bảng khổng lồ đã tính sẵn hash của các đầu vào phổ biến. Nếu văn bản gốc của bạn đủ lạ để không nằm trong bảng đó, nó hoàn toàn không thể phục hồi được, dù là ai.
Vậy các trang web kiểm tra mật khẩu của tôi mà không lưu dạng plain text như thế nào?
Họ lưu hash của mật khẩu, không phải mật khẩu gốc. Khi bạn đăng nhập, hệ thống hash lại những gì bạn gõ và so sánh hai hash. Nếu khớp nhau thì mật khẩu cũng khớp — mà trang web không bao giờ cần lưu hay "giải mã" mật khẩu thật của bạn.
Tôi nên dùng thuật toán nào?
Với mục đích liên quan bảo mật (chữ ký số, chứng chỉ, xác minh file tải về), hãy dùng SHA-256 trở lên — MD5 và SHA-1 đều đã bị phá vỡ về mặt mật mã học và không nên tin dùng cho bảo mật. Với mục đích phi bảo mật như checksum, cache key hay khử trùng lặp, MD5 vẫn ổn và tính nhanh hơn.
Vì sao tôi nhận được hash khác với công cụ khác dù cùng một văn bản?
Thường là do một khác biệt vô hình: một dòng trắ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 từng byte luôn cho ra hash giống hệt nhau ở mọi cách triển khai đúng.
Văn bản của tôi có được gửi lên máy chủ không?
Không. MD5 được tính bằng JavaScript chạy ngay trên trình duyệt, còn SHA-1/SHA-256/SHA-384/SHA-512 dùng Web Crypto API tích hợp sẵn của trình duyệt. Không có gì rời khỏi thiết bị của bạn.
Tôi nên thực sự dùng loại hash nào?
Nếu bất cứ điều gì liên quan đến bảo mật phụ thuộc vào nó — xác minh tính toàn vẹn file, chữ ký số, các trường hợp gần với mật khẩu — hãy chọn SHA-256: đó là tiêu chuẩn NIST FIPS 180-4 và là loại mà hầu hết phần mềm dùng để phân phối checksum. MD5 và SHA-1 chỉ chấp nhận được cho các mục đích phi bảo mật như khóa cache, khử trùng lặp, hoặc khớp với một hệ thống cũ bắt buộc phải dùng chúng.