Đang xem bằng Tiếng Việt Chuyển sang tiếng Anh

Máy tính Hash tệp

Tính hash MD5, SHA-1, SHA-256 và SHA-512 của bất kỳ tệp nào — hữu ích để xác minh các bản tải xuống so với checksum đã công bố.

Thả tệp vào đây hoặc
  1. Thả một hoặc nhiều tệp vào hộp nét đứt, hoặc nhấp duyệt.
  2. Nhấp Hash tất cả — MD5, SHA-1, SHA-256 và SHA-512 được tính cho mỗi tệp.
  3. Sao chép hash riêng của từng hàng, hoặc lấy SHA-256 của tất cả tệp cùng lúc ở định dạng SHA256SUMS.
  4. Dán checksum đã công bố vào hộp Verify để tìm tệp nào (nếu có) khớp.
Công cụ này làm gì?

Công cụ đọc tệp của bạn cục bộ và tạo ra bốn digest chuẩn ngành cùng lúc — MD5, SHA-1, SHA-256 và SHA-512. Sử dụng SHA-256 cho bất cứ thứ gì mới; chỉ dùng MD5 hoặc SHA-1 khi nhà phát hành bạn đang xác minh vẫn công bố chúng. Hộp Verify chấp nhận bất kỳ chuỗi hex nào và cho bạn biết nó khớp với thuật toán nào trong bốn cái (nếu có), nên bạn không cần biết trước dự án đã dùng cái nào.

Ví dụ

Hash tệp ubuntu-24.04.1-desktop-amd64.iso (6,114,656,256 bytes) tạo ra:

MD5     e3a5c61d27d541e09ef0e894c514ad54
SHA-1   0bc9a82a4f7fc19f97cefc8a62e5ef10d2d65f80
SHA-256 c2e6f4dbefb08d47d3e3b41e4bcadce9dcebdf3a47f8c08390d6b8b10b35b1ab
SHA-512 bd4a8f30...d14e97c2 (128 hex chars)

Dán dòng SHA-256 đã công bố của Ubuntu từ SHA256SUMS vào hộp Verify và bạn sẽ thấy khớp.

Tại sao hash SHA-256 của tôi khác với cái máy chủ báo cáo?

Một vài nguyên nhân phổ biến của việc không khớp hash và các giới hạn đáng biết:

  • Ranh giới tệp sai. Hash archive.zip so với một tệp bên trong nó cho digest khác nhau. Nhà phát hành thường hash archive bên ngoài.
  • Viết lại dòng kết thúc. Git trên Windows với core.autocrlf=true thay đổi \n thành \r\n khi checkout, nên tệp working-tree không còn khớp với hash upstream. Checkout với core.autocrlf=false hoặc tải blob thô xuống.
  • Hex so với Base64. sha256sum xuất hex. Một số S3 ETag hoặc manifest đã ký dùng Base64. Dán cái này khi cần cái kia luôn thất bại.
  • Giới hạn bộ nhớ trình duyệt. Họ SHA đọc toàn bộ tệp vào một ArrayBuffer, nên ISO 4 GB có thể gây OOM trên trình duyệt di động. Thử trên máy tính để bàn hoặc dùng sha256sum trên dòng lệnh cho tệp rất lớn.
  • So sánh giữa các thuật toán. SHA-256 (64 ký tự hex) không thể so sánh với SHA-1 (40 ký tự). Khớp độ dài thuật toán trước khi bạn nhìn vào nội dung.
  • Khoảng trắng cuối khi dán. Một dòng mới được sao chép cùng với digest hex làm chuỗi thành 65 ký tự thay vì 64. Trim trước khi so sánh.
Câu hỏi thường gặp

Sự khác biệt giữa MD5, SHA-1, SHA-256 và SHA-512 là gì?

Chúng khác nhau về độ dài đầu ra và khả năng chống va chạm. MD5 là 128 bit, SHA-1 là 160, SHA-256 là 256, SHA-512 là 512. MD5 và SHA-1 đã bị phá trước các cuộc tấn công va chạm có chủ ý, nên không nên dùng cho chữ ký hay lưu trữ mật khẩu — nhưng vẫn ổn để xác minh một bản tải bị hỏng vô tình. SHA-256 là mặc định hiện đại, SHA-512 dùng khi cần digest dài hơn.

Tại sao hash SHA-256 của tôi khác với cái máy chủ báo cáo?

Thường là một trong ba nguyên nhân: tệp bị sửa đổi khi tải xuống (CDN đã transcode nó, phần mềm diệt virus thêm footer, hoặc Git đổi dòng kết thúc trên Windows); nhà phát hành hash archive nhưng bạn hash tệp đã giải nén (hoặc ngược lại); hoặc bạn đang so hex với Base64. Tính lại ở cả hai đầu với cùng công cụ và kiểm tra kích thước tệp trước — nếu byte khác, hash cũng sẽ khác.

Có giới hạn kích thước tệp không?

Giới hạn là bộ nhớ trình duyệt, không phải công cụ. Họ SHA ở đây đọc toàn bộ tệp vào một ArrayBuffer để truyền cho Web Crypto API, thực tế giới hạn ở vài GB trên hầu hết máy tính và ít hơn nhiều trên điện thoại. MD5 được stream trong chunk 4 MB nên chịu được tệp lớn hơn, nhưng quy trình tổng thể vẫn bị ràng buộc bởi bộ nhớ.

Cái này có khớp với sha256sum hoặc PowerShell Get-FileHash không?

Có. Chạy sha256sum file.iso trên Linux/macOS hoặc Get-FileHash -Algorithm SHA256 file.iso trong PowerShell 5+ tạo ra cùng digest hex chữ thường như công cụ này xuất. Nếu bạn thấy không khớp, xác nhận bạn đang hash cùng byte — PowerShell mặc định là SHA-256 và sha1sum / md5sum tồn tại như anh em cho các thuật toán khác.

Công cụ này có phù hợp để xác minh bản tải Linux ISO không?

Có, đó chính là cách dùng dự kiến. Thả ISO vào, chờ SHA-256 hoàn thành, và dán giá trị mong đợi từ tệp checksums của distro vào hộp "Verify against a known hash". Một khớp chứng minh byte trên ổ đĩa giống hệt với những gì nhà phát hành đã ký. Luôn kiểm tra kép tệp checksums qua chữ ký (GPG) khi có thể.

Bạn có lưu các tệp tôi hash ở đây không?

Không. Chúng tôi không lưu tệp bạn thả vào, và không giữ hash chúng tôi tạo. Mọi thứ bị loại bỏ ngay khi bạn đóng hoặc làm mới trang — không log, không ghi lại bạn đã hash gì. Bạn có thể thả tệp nhạy cảm một cách tự tin và xác minh trong DevTools của trình duyệt nếu muốn.