Tính checksum MD4 của tệp

Tính checksum MD4 của bất kỳ tệp nào ngay trên máy, kể cả tệp lớn, rồi so với hash được công bố để xác minh bản tải xuống. Miễn phí và riêng tư.

MD4 đã bị phá vỡ về mặt mật mã (có thể tạo va chạm). Chỉ dùng cho checksum hoặc tương thích hệ thống cũ, không dùng cho mục đích bảo mật.

Chưa chọn tệp nào. Checksum sẽ hiện ngay khi bạn chọn tệp.

Tệp được đọc theo từng phần ngay trong trình duyệt và không bao giờ được tải lên.

Checksum MD4 của tệp là gì?

Công cụ này tính checksum MD4 (giá trị băm 128 bit) của tệp bạn chọn và so sánh nó với một giá trị mong đợi. Tệp được đọc theo từng khối 4 MB ngay trong trình duyệt, nên xử lý được tệp lớn và không có gì bị tải lên.

Cách sử dụng Checksum MD4 của tệp

  1. Nhấn vào vùng thả tệp hoặc kéo tệp vào đó; tệp được đọc theo từng khối và có thanh tiến trình hiển thị.
  2. Kiểm tra Tên tệp và Kích thước tệp hiện bên dưới để chắc chắn bạn đã chọn đúng tệp.
  3. Dán checksum do nhà cung cấp công bố vào ô Checksum mong đợi — bạn sẽ nhận được Khớp hoặc Không khớp (chữ hoa/thường, tiền tố 0x và tên tệp ở cuối đều được bỏ qua).
  4. Chọn Định dạng đầu ra nếu cần hex chữ hoa hoặc Base64, rồi nhấn Sao chép.

Ví dụ

Đầu vào
A file named hash-abc.txt containing the 3 bytes "abc" (no newline)
Đầu ra
a448017aaf21d8525fc10ae87aa6729d

Dán giá trị này (chữ hoa hay thường đều được) vào ô Checksum mong đợi sẽ hiện Khớp.

Khi nào nên dùng Checksum MD4 của tệp

Dùng công cụ để xác minh một bản tải xuống, bản sao lưu hay tệp đã sao chép còn nguyên vẹn khi bên phát hành có công bố checksum MD4, hoặc để ghi lại checksum trước khi chuyển tệp. MD4 khớp chứng tỏ tệp không bị hỏng ngẫu nhiên, nhưng vì MD4 đã bị phá vỡ nên nó không chứng minh được rằng không ai can thiệp vào tệp — hãy ưu tiên checksum SHA-256 hoặc chữ ký số nếu có. Để băm một chuỗi ngắn thay vì tệp, hãy dùng công cụ tạo hash MD4 cho văn bản.

Checksum MD4 của tệp hoạt động như thế nào

Tệp được cắt thành các mảnh 4 MB bằng File API và từng mảnh được đưa vào bộ băm MD4 tăng dần, nhờ đó bộ nhớ sử dụng luôn nhỏ và có thể hiển thị thanh tiến trình. MD4 đệm thông điệp bằng một bit 1, các bit 0 và độ dài thông điệp 64 bit dạng little-endian cho đủ bội số của 512 bit, sau đó cho mỗi khối 512 bit chạy qua ba vòng, mỗi vòng 16 phép toán trên bốn từ 32 bit, dùng các hàm phi tuyến F, G và H, phép cộng và phép xoay trái. Bốn từ cuối cùng, ghi theo little-endian, tạo thành giá trị băm 128 bit. Việc so sánh với checksum mong đợi được thực hiện trên các byte của giá trị băm, nên hex chữ hoa/thường và Base64 đều được chấp nhận.

Các Trường Hợp Sử Dụng Phổ Biến

  • Xác minh tệp ISO, bộ cài đặt hoặc ảnh firmware với checksum trên trang tải xuống
  • Xác nhận tệp đã chép sang USB, NAS hoặc cloud storage giống hệt từng bit
  • Ghi lại checksum MD4 của các tệp phát hành trước khi công bố
  • Kiểm tra xem hai tệp khác tên có nội dung giống hệt nhau hay không
  • Đối chiếu tệp với các danh sách MD4 cũ từ những kho lưu trữ đời trước

Lưu Ý Bảo Mật

MD4 đã bị phá vỡ hoàn toàn. Va chạm có thể tìm được chỉ với khối lượng tính toán làm bằng tay, vậy mà nó vẫn là lõi của hash mật khẩu NTLM, đó là lý do hash NTLM bị bẻ khóa dễ dàng đến vậy. Chỉ dùng nó để tương thích (ví dụ liên kết eDonkey/ed2k, nghiên cứu NTLM); tuyệt đối không dùng cho mục đích bảo mật. Checksum chỉ chứng minh tính toàn vẹn khi giá trị mong đợi đến từ một kênh đáng tin cậy; kẻ tấn công thay được tệp thì thường cũng thay được checksum hiển thị bên cạnh. Tệp không bao giờ rời khỏi trình duyệt của bạn.

Câu Hỏi Thường Gặp

Tệp của tôi có bị tải lên máy chủ không?

Không. Tệp được đọc bằng File API của trình duyệt và được băm bằng JavaScript/WebAssembly ngay trên thiết bị của bạn. Bạn có thể ngắt kết nối internet sau khi trang đã tải xong mà công cụ vẫn hoạt động.

Tệp có thể lớn đến mức nào?

Tệp được xử lý theo từng khối 4 MB, nên kích thước chủ yếu bị giới hạn bởi thời gian chứ không phải bộ nhớ. Tệp nhiều gigabyte vẫn chạy được; tốc độ tùy thuộc vào thiết bị của bạn.

MD4 của tôi không khớp với giá trị được công bố. Phải làm sao?

Trước hết hãy chắc chắn bạn đang so cùng thuật toán và cùng một tệp (không phải tệp tải dở). Nếu giá trị vẫn khác, hãy tải lại tệp từ nguồn chính thức; nếu vẫn không khớp thì tệp đã bị hỏng hoặc không phải tệp mà bên phát hành cung cấp.

Tôi có thể dán gì vào ô Checksum mong đợi?

Giá trị hex viết hoa hoặc thường, có hoặc không có 0x, dạng Base64, hoặc nguyên một dòng từ tệp checksum như <hash> filename — chỉ từ đầu tiên được đem ra so sánh.

Khám phá thêm danh mục