Tạo hash
MD5, SHA-1, SHA-256, SHA-512 và HMAC — tính ngay trong trình duyệt của bạn
Về công cụ này
Tính các bản tóm lược MD5, SHA-1, SHA-256, SHA-384 và SHA-512 của bất kỳ văn bản nào, cùng chữ ký HMAC có khóa, ngay trong trình duyệt. Họ SHA và HMAC dùng Web Crypto API — chính những khối mật mã đã được kiểm định mà trình duyệt bạn dùng cho TLS — còn MD5 (thứ Web Crypto cố ý bỏ qua) đi kèm dưới dạng một bản cài đặt cục bộ nhỏ gọn để phục vụ các checksum kiểu cũ.
Các giá trị hash cập nhật trực tiếp khi bạn gõ, và mọi thuật toán đều được tính cùng lúc, nên việc đối chiếu một giá trị với checksum theo bất kỳ thuật toán nào mà trang tải xuống chọn cũng chẳng cần thiết lập gì. Chế độ HMAC bổ sung ô nhập khóa bí mật để xác minh chữ ký webhook — GitHub, Stripe và hầu hết nhà cung cấp webhook đều ký dữ liệu bằng HMAC-SHA256.
Vì dữ liệu bạn nhập không bao giờ rời khỏi trang, bạn có thể yên tâm băm những thứ vốn không nên dán vào dịch vụ trực tuyến: payload API, mật khẩu đang đối chiếu với danh sách hash bị rò rỉ, tài liệu nội bộ.
Câu hỏi thường gặp
- Tôi nên dùng thuật toán băm nào?
- Với bất cứ việc gì liên quan tới bảo mật ngày nay: SHA-256 trở lên. MD5 và SHA-1 đã bị phá về khả năng chống va chạm — người ta có thể dựng ra hai đầu vào khác nhau cho cùng một giá trị băm — nên chúng chỉ còn sống sót ở các checksum không có kẻ tấn công và trong tương thích giao thức cũ.
- Vậy sao vẫn còn cung cấp MD5?
- Vì bạn vẫn gặp nó: ETag, khóa cache, tệp kê khai, những cột cũ trong cơ sở dữ liệu. Muốn đối chiếu các giá trị ấy thì vẫn phải tính MD5, bất kể tình trạng mật mã của nó ra sao. Chỉ là đừng thiết kế thứ gì mới dựa trên nó.
- HMAC là gì và khác gì hash thường?
- HMAC trộn một khóa bí mật vào quá trình băm, nên chỉ người giữ khóa mới tạo hoặc kiểm chứng được bản tóm lược. Hash thường chứng minh tính toàn vẹn (“dữ liệu này không bị sửa”); HMAC chứng minh thêm tính xác thực (“người có khóa đã tạo ra nó”). Ứng dụng hằng ngày chính là xác minh chữ ký webhook.
- Băm có giống với mã hóa mật khẩu không?
- Không, và những hàm băm nhanh như SHA-256 là công cụ sai để lưu mật khẩu — kẻ tấn công có thể thử hàng tỷ lần mỗi giây. Việc lưu mật khẩu cần một thuật toán cố ý làm chậm và có salt: bcrypt, scrypt hoặc Argon2.