Tính checksum SHA-1 của tệp
Tính checksum SHA-1 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ư.
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 SHA-1 của tệp là gì?
Công cụ này tính checksum SHA-1 (giá trị băm 160 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 SHA-1 của tệp
- 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ị.
- 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.
- 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ố
0xvà tên tệp ở cuối đều được bỏ qua). - 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ụ
A file named hash-abc.txt containing the 3 bytes "abc" (no newline)
a9993e364706816aba3e25717850c26c9cd0d89d
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 SHA-1 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 SHA-1, hoặc để ghi lại checksum trước khi chuyển tệp. SHA-1 khớp chứng tỏ tệp không bị hỏng ngẫu nhiên, nhưng vì SHA-1 đã 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 SHA-1 cho văn bản.
Checksum SHA-1 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 SHA-1 tăng dần, nhờ đó bộ nhớ sử dụng luôn nhỏ và có thể hiển thị thanh tiến trình. SHA-1 đệm thông điệp thành bội số của 512 bit bằng một bit 1, các bit 0 và độ dài 64 bit dạng big-endian. Mỗi khối được mở rộng thành 80 từ (có phép xoay 1 bit) và trộn vào năm từ trạng thái 32 bit qua 80 bước, sử dụng phép xoay, phép cộng cùng các hàm Ch, Parity và Maj. Năm từ này, xếp theo big-endian, tạo thành giá trị băm 160 bit (40 ký tự hex). 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 SHA-1 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 SHA-1 cũ từ những kho lưu trữ đời trước
Lưu Ý Bảo Mật
SHA-1 đã bị phá vỡ về tính kháng va chạm. Các cuộc tấn công SHAttered (2017) và Shambles (2020) đã tạo ra những tệp PDF va chạm thật và va chạm với tiền tố tự chọn. Trình duyệt và CA không còn chấp nhận chứng chỉ SHA-1. Chỉ dùng nó để tương thích với hệ thống cũ (ví dụ object id của Git, checksum cũ); hãy ưu tiên SHA-256 hoặc SHA-3 cho mọi mục đích liên quan đến 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.
SHA-1 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.