Tạo mã Hash & kiểm tra Checksum
Lấy MD5, SHA-1, SHA-256, SHA-384 và SHA-512 cho bất kỳ văn bản hay tệp nào cùng lúc, tính HMAC với khóa bí mật, và đối chiếu tệp với checksum được công bố.
Chạy trên trình duyệtKhông cần đăng kýKhông tải lên gì
Cách dùng Tạo mã Hash
- Nhập hoặc dán văn bản, hoặc chuyển sang Tệp và thả tệp vào. Tệp lớn được đọc theo từng phần kèm thanh tiến trình.
- Cả năm mã băm được tính cùng lúc. Chọn đầu ra hex chữ thường, HEX chữ hoa hoặc Base64.
- Đánh dấu HMAC và nhập khóa bí mật (dạng văn bản, hex hoặc Base64) để nhận HMAC-SHA256 có khóa và các biến thể HMAC khác.
- Để kiểm tra tệp tải về, dán checksum được công bố vào Kiểm tra checksum. Thuật toán khớp sẽ được tô sáng.
Hash là gì?
Hàm băm mật mã biến mọi đầu vào thành một dấu vân tay có độ dài cố định. Cùng một đầu vào luôn cho cùng một mã băm, thay đổi một byte sẽ cho mã băm hoàn toàn khác, và bạn không thể đảo ngược mã băm thành đầu vào. Vì vậy hash rất phù hợp để kiểm tra tính toàn vẹn của tệp, tạo khóa cache, loại bỏ dữ liệu trùng lặp và ký thông điệp.
Nên dùng thuật toán nào?
| Thuật toán | Đầu ra | Dùng cho |
|---|---|---|
| MD5 | 128 bit · 32 hex | Chỉ dùng cho checksum cũ và khóa cache không liên quan bảo mật. Rất dễ tạo xung đột. |
| SHA-1 | 160 bit · 40 hex | ID đối tượng Git và hệ thống cũ. Đã bị phá về khả năng chống xung đột từ năm 2017. |
| SHA-256 | 256 bit · 64 hex | Lựa chọn mặc định: checksum tệp tải về, chữ ký, blockchain, ký request API. |
| SHA-384 / SHA-512 | 384 / 512 bit | Biên độ bảo mật cao hơn; SHA-512 thường nhanh hơn SHA-256 trên CPU 64-bit. |
Đừng dùng bất kỳ thuật toán nào ở trên để lưu mật khẩu. Chúng được thiết kế để chạy nhanh, điều này giúp ích cho kẻ tấn công. Hãy dùng hàm băm mật khẩu chậm như Argon2id, scrypt hoặc bcrypt.
Kiểm tra checksum của tệp
Nhà cung cấp phần mềm thường công bố SHA-256 bên cạnh mỗi tệp tải về. Thả tệp vào đây, dán giá trị được công bố và công cụ sẽ cho bạn biết chúng có khớp không. Bạn có thể dán nguyên dòng từ tệp SHA256SUMS; tên tệp phía sau mã băm sẽ được bỏ qua. Các lệnh tương đương:
sha256sum file.iso # Linux
shasum -a 256 file.iso # macOS
certutil -hashfile file.iso SHA256 # Windows
HMAC là gì?
HMAC (RFC 2104) trộn một khóa bí mật vào mã băm, nên chỉ ai có khóa mới tạo hoặc kiểm tra được giá trị. Webhook từ Stripe, GitHub và Slack được ký bằng HMAC-SHA256, và JWT dùng thuật toán HS256 cũng vậy. Dán body thô của request và secret ký của bạn để tái tạo chữ ký khi debug.
Câu hỏi thường gặp
Tệp của tôi có bị tải lên để tính mã băm không?
Vì sao mã băm của tôi khác với công cụ khác?
echo "text" | sha256sum có kèm ký tự xuống dòng; hãy dùng echo -n.