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

  1. 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.
  2. 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.
  3. Đá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.
  4. Để 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 raDùng cho
MD5128 bit · 32 hexChỉ 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-1160 bit · 40 hexID đối tượng Git và hệ thống cũ. Đã bị phá về khả năng chống xung đột từ năm 2017.
SHA-256256 bit · 64 hexLựa chọn mặc định: checksum tệp tải về, chữ ký, blockchain, ký request API.
SHA-384 / SHA-512384 / 512 bitBiê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?
Không. Văn bản và tệp được băm cục bộ bằng Web Crypto API của trình duyệt (và một bản cài đặt MD5 tích hợp sẵn). Không có gì rời khỏi thiết bị của bạn.
Vì sao mã băm của tôi khác với công cụ khác?
Thường là do đầu vào khác nhau: ký tự xuống dòng ở cuối, kiểu xuống dòng của Windows (CRLF so với LF) hoặc bảng mã văn bản khác. Công cụ này băm văn bản dạng UTF-8 đúng như bạn gõ, không thêm ký tự xuống dòng. Lưu ý rằng echo "text" | sha256sum có kèm ký tự xuống dòng; hãy dùng echo -n.
Có thể giải mã một mã băm không?
Không. Băm là một chiều. Các trang “giải mã” MD5 hay SHA-1 chỉ đơn giản tra giá trị trong bảng mã băm của các đầu vào phổ biến, đó là lý do chuỗi ngắn hoặc phổ biến không an toàn để băm khi không có secret.
SHA-256 có giống SHA-2 không?
SHA-256 là một thành viên của họ SHA-2, họ này còn gồm SHA-224, SHA-384 và SHA-512. SHA-3 là một thiết kế khác, mới hơn.
Tôi có thể băm tệp lớn tới mức nào?
Tối đa 2 GB, giới hạn bởi bộ nhớ trình duyệt. Tệp được đọc theo từng phần 4 MB kèm thanh tiến trình để trang vẫn phản hồi mượt mà.

Công cụ liên quan