Tạo Hash
Tạo cùng lúc 33 loại hash và checksum — MD5, MD4, MD2, NTLM, SHA-1, SHA-2 (gồm cả SHA-224 và SHA-512/256), SHA-3, SHAKE, Keccak, BLAKE2, BLAKE3, RIPEMD-160, Whirlpool, CRC, Adler-32, xxHash, MurmurHash3 và FNV-1a — từ văn bản, byte hex thô hoặc bất kỳ file nào, kèm giá trị Subresource Integrity (SRI) dán dùng ngay và công cụ nhận diện hash cho những digest không rõ nguồn gốc. Hữu ích để kiểm tra tính toàn vẹn của file, so sánh checksum, kiểm tra khung dữ liệu giao thức hoặc tạo dấu vân tay dữ liệu. Mọi thao tác chạy ngay trong trình duyệt, nên văn bản và file của bạn không bao giờ rời khỏi thiết bị.
Các bước sử dụng
- Chọn Văn bản, Byte hex hoặc File ở phía trên để quyết định thứ cần băm. Khi chuyển chế độ, nội dung đang nhập và kết quả sẽ bị xóa.
- Ở chế độ Văn bản, gõ trực tiếp hoặc bấm Dán để dán nội dung từ bộ nhớ tạm — hash tự động tính lại ngay khi bạn gõ, kèm bộ đếm số ký tự và số byte. Ở chế độ Byte hex, gõ chính các byte, ví dụ
01 03 00 00 00 0A. Ở chế độ File, kéo thả file vào vùng tải lên hoặc bấm để chọn file (chấp nhận mọi định dạng). - Xem kết quả ở bảng Kết quả Hash — mọi thuật toán được tính đồng thời, kèm độ dài bit của từng loại: MD5, MD4, MD2, NTLM, RIPEMD-160, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/256, SHA3-224, SHA3-256, SHA3-384, SHA3-512, SHAKE128, SHAKE256, Keccak-256, Keccak-512, BLAKE2b-512, BLAKE2s-256, BLAKE3-256, Whirlpool, CRC-32, CRC-16, CRC-16/MODBUS, CRC-8, Adler-32, xxHash32, xxHash64, MurmurHash3, FNV-1a 32 và FNV-1a 64.
- Bấm biểu tượng sao chép bên cạnh mỗi dòng để sao chép hash đó vào bộ nhớ tạm.
- (Tùy chọn) Bật công tắc Chữ hoa để chuyển kết quả giữa dạng chữ thường và chữ hoa.
- (Tùy chọn) Dán một hash đã biết vào ô Dán hash để so sánh... để đối chiếu với kết quả của bạn.
- Muốn khóa một file script hay stylesheet đúng với nội dung của nó, hãy mở file ở chế độ File rồi chép một giá trị trong thẻ Subresource Integrity (SRI) — hoặc cả Thuộc tính integrity — vào thẻ
<script>hay<link>. - Có một digest mà không biết thuật toán nào tạo ra? Dán nó vào thẻ Nhận diện hash. Công cụ cho biết định dạng (hex, Base64 hay định dạng hash mật khẩu như bcrypt, Argon2) và liệt kê các thuật toán có khả năng, đánh dấu những thuật toán trang này tính được bằng nhãn Có tính ở trên.
Mẹo
- Ô so sánh không phụ thuộc thuật toán: dán bất kỳ hash nào, nhãn xanh Khớp sẽ cho biết nó thuộc thuật toán nào, đồng thời dòng khớp được tô nền xanh.
- Với mục đích bảo mật, hãy dùng SHA-256 trở lên — MD5, SHA-1, MD4 và MD2 chỉ nên dùng cho checksum/tương thích cũ vì không còn chống va chạm.
- Văn bản được băm dưới dạng byte UTF-8, nên chữ có dấu hay emoji chiếm nhiều byte.
- NTLM là hash mật khẩu của Windows, tức MD4 của văn bản ở dạng UTF-16LE. Điều này chỉ áp dụng ở chế độ Văn bản; ở chế độ Byte hex và File, dòng NTLM là MD4 của các byte thô, giống hệt dòng MD4.
- SHAKE128 và SHAKE256 là hàm đầu ra mở rộng (XOF); chúng được hiển thị với đầu ra 256-bit và 512-bit.
- CRC-16 là biến thể CRC-16/ARC, còn CRC-8 là CRC-8/SMBUS (đa thức 0x07).
- Chế độ Byte hex bỏ qua khoảng trắng, dấu phẩy, dấu hai chấm, dấu gạch và tiền tố
0x, nên0x01,0x03hay01:03đều dùng được. Số chữ số bị lẻ hoặc có ký tự không phải hex sẽ được báo ngay dưới ô nhập. - Dùng chế độ Byte hex để tính checksum cho dữ liệu nhị phân mà bạn chỉ có ở dạng hex — khung Modbus RTU, gói tin cổng serial, header firmware. Gõ cùng các chữ số đó ở chế độ Văn bản sẽ băm các ký tự chứ không phải các byte.
- CRC-16/MODBUS được hiển thị dạng số; khi truyền, Modbus gửi byte thấp trước, nên CRC
cdc5xuất hiện ở cuối khung dưới dạngC5 CD. - xxHash, MurmurHash3, FNV-1a và Adler-32 là các hash nhanh, không dùng cho mật mã, phục vụ bảng băm, loại trùng dữ liệu và phát hiện thay đổi. Chúng dùng seed 0 nên khớp với
xxhsum,mmh3.hash(…, 0)vàadler32của zlib. Đừng bao giờ dùng chúng ở nơi người khác có thể cố tình tạo va chạm. - BLAKE3-256 khớp với công cụ
b3sum, BLAKE2b-512 khớp vớib2sum, còn SHA-512/256 khớp vớiopenssl dgst -sha512-256. - Bảng Thông tin thuật toán ở cuối liệt kê độ dài bit, số ký tự đầu ra và mô tả ngắn của từng thuật toán.
Câu hỏi thường gặp
Vì sao bật Chữ hoa mà vẫn hiện "Khớp" khi so sánh?
Việc so sánh không phân biệt chữ hoa/thường — công cụ chuyển cả hash bạn dán và kết quả về chữ thường trước khi đối chiếu, nên công tắc Chữ hoa chỉ ảnh hưởng đến cách hiển thị chứ không ảnh hưởng đến kết quả khớp.
Vì sao Keccak-256 khác SHA3-256?
Hai thuật toán dùng chung cấu trúc sponge Keccak nhưng khác byte đệm: NIST thêm một byte phân miền khi chuẩn hóa SHA-3, còn Ethereum đã dùng Keccak từ trước đó. Vì vậy keccak256 của Ethereum (dùng cho địa chỉ và function selector) khớp với dòng Keccak-256, không phải SHA3-256.
Thuộc tính integrity chứa gì?
Tên thuật toán, một dấu gạch ngang và Base64 của các byte digest thô — ví dụ sha384-…. Đó không phải Base64 của chuỗi hex, nên chép hash dạng hex vào thuộc tính SRI sẽ không chạy. Trình duyệt chấp nhận sha256, sha384 và sha512.
Vì sao dòng NTLM và MD4 khác nhau ở chế độ Văn bản?
NTLM băm mật khẩu ở dạng UTF-16LE (hai byte cho mỗi ký tự cơ bản), còn MD4 băm các byte UTF-8 bạn đã gõ. Ở chế độ Byte hex và File không có văn bản để mã hóa lại, nên hai dòng cho cùng một giá trị.
Công cụ nhận diện hash có cho biết chính xác thuật toán đã tạo ra hash không?
Với digest trơn thì không. Một giá trị 32 chữ số hex có thể là MD5, NTLM hay MD4; giá trị 64 chữ số có thể là SHA-256, SHA3-256, Keccak-256, BLAKE2s-256 hoặc BLAKE3-256 — đầu ra của hash vốn được thiết kế để trông ngẫu nhiên. Thẻ này xếp hạng các ứng viên (Nhiều khả năng, Có thể, Ít khả năng) theo mức độ phổ biến. Hash mật khẩu có tiền tố như $2b$ (bcrypt), $argon2id$, $6$ (sha512crypt) hay $apr1$ thì được nhận diện chính xác, kể cả tham số cost hoặc số vòng. Muốn xác nhận một digest trơn, hãy băm dữ liệu gốc tại đây rồi dán digest vào ô so sánh.
Tôi có thể băm file lớn không?
Có. Toàn bộ file được đọc và băm ngay trong trình duyệt. File rất lớn sẽ tốn nhiều bộ nhớ và lâu hơn, nhưng không có gì được gửi lên máy chủ.
Nên dùng thuật toán nào?
Dùng SHA-256 cho nhu cầu bảo mật thông thường (đây là lựa chọn được khuyến nghị phổ biến), SHA-512/SHA-384, SHA3-256/SHA3-512 hoặc BLAKE2b/BLAKE3 khi cần độ an toàn hay tốc độ cao hơn. Chỉ dùng MD5, SHA-1, MD4 và MD2 cho checksum không liên quan bảo mật hoặc để tương thích với hệ thống cũ, dùng các CRC và Adler-32 để phát hiện lỗi truyền dữ liệu, còn xxHash, MurmurHash3 và FNV-1a cho bảng băm và loại trùng dữ liệu.