Công cụ này làm gì
Hàm băm biến một lượng văn bản bất kỳ thành một dấu vân tay ngắn, có độ dài cố định. Cùng một đầu vào luôn cho cùng một mã băm, và chỉ cần đổi một ký tự là cho ra mã băm hoàn toàn khác. Mã băm được dùng để kiểm tra tệp tải về, phát hiện nội dung trùng lặp, tạo khóa cache và ký dữ liệu.
Công cụ này tính năm mã băm phổ biến cùng lúc, ngay khi bạn gõ:
- MD5 — 128 bit, 32 ký tự hex
- SHA-1 — 160 bit, 40 ký tự hex
- SHA-256 — 256 bit, 64 ký tự hex
- SHA-384 — 384 bit, 96 ký tự hex
- SHA-512 — 512 bit, 128 ký tự hex
Cách sử dụng
- Gõ hoặc dán văn bản vào ô Văn bản, thả một tệp vào, hoặc nhấn Ví dụ.
- Mọi mã băm cập nhật ngay lập tức. Nhấn Sao chép cạnh mã bạn cần.
- Chọn đầu ra Hex hoặc Base64, và bật Hex chữ hoa nếu hệ thống bạn cần so sánh dùng chữ in hoa.
Ví dụ
Câu The quick brown fox jumps over the lazy dog có mã băm MD5 là 9e107d9d372bb6826bd81d3542a419d6 và mã băm SHA-256 là d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592. Thêm một dấu chấm ở cuối câu là mọi mã băm đều thay đổi hoàn toàn.
Ghi chú
Văn bản được chuyển sang UTF-8 trước khi băm, đây là cách mặc định của gần như mọi ngôn ngữ lập trình và công cụ dòng lệnh. Dấu xuống dòng ở cuối cũng được tính: echo "abc" | md5sum băm abc\n, còn echo -n "abc" | md5sum băm abc.
Câu hỏi thường gặp
› Tôi nên dùng hàm băm nào?
Hãy dùng SHA-256 hoặc SHA-512 cho mọi thứ mới. MD5 và SHA-1 đã bị phá về mặt bảo mật (có thể cố ý tạo ra va chạm) nhưng vẫn ổn khi dùng làm checksum nhanh và vẫn được nhiều hệ thống cũ yêu cầu.
› Tôi có thể đảo ngược mã băm để lấy lại văn bản gốc không?
Không. Hàm băm là hàm một chiều. Các trang "giải mã MD5" chỉ tra cứu mã băm được tính sẵn của những từ phổ biến, đó là lý do mật khẩu ngắn hoặc phổ biến không an toàn.
› Tôi có nên băm mật khẩu bằng SHA-256 không?
Không nên chỉ dùng mỗi nó. Mật khẩu cần một thuật toán chậm, có salt như Argon2, bcrypt hoặc scrypt. Mã băm SHA thuần có thể bị dò vét cạn rất nhanh.
› Vì sao mã băm của tôi khác với công cụ khác?
Hãy kiểm tra ký tự xuống dòng hoặc dấu cách ở cuối, và bảng mã của văn bản. Công cụ này băm chính xác các byte UTF-8 của những gì bạn gõ, bao gồm cả dấu xuống dòng cuối cùng nếu có.
› Văn bản của tôi có bị tải lên không?
Không. Mọi mã băm đều được tính trong trình duyệt của bạn.