Kiểm tra là gì?

Ví dụ về Kiểm tra, Trường hợp Sử dụng và Máy tính

Kiểm tra là kết quả của việc chạy một thuật toán, được gọi là hàm băm mật mã , trên một đoạn dữ liệu, thường là một tệp duy nhất. So sánh kiểm tra mà bạn tạo ra từ phiên bản tệp của bạn, với mã kiểm tra được cung cấp bởi nguồn của tệp, giúp đảm bảo rằng bản sao tệp của bạn là chính hãng và không có lỗi.

Một kiểm tra đôi khi cũng được gọi là tổng băm và ít thường xuyên hơn một giá trị băm , mã băm , hoặc đơn giản là một băm .

Một ví dụ đơn giản Checksum

Ý tưởng về tổng kiểm tra hoặc hàm băm mật mã có vẻ phức tạp và không đáng để nỗ lực, nhưng chúng tôi muốn thuyết phục bạn bằng cách khác! Checksums thực sự không phải là khó hiểu hoặc tạo ra.

Hãy bắt đầu với một ví dụ đơn giản, hy vọng thể hiện sức mạnh của tổng kiểm tra để chứng minh rằng một cái gì đó đã thay đổi. MD5 checksum cho cụm từ sau đây là một chuỗi ký tự đại diện cho câu đó.

Đây là một bài kiểm tra. 120EA8A25E5D487BF68B5F7096440019

Đối với mục đích của chúng tôi ở đây, về cơ bản họ bằng nhau. Tuy nhiên, thực hiện ngay cả một sự thay đổi nhỏ, như loại bỏ chỉ là khoảng thời gian, sẽ tạo ra tổng kiểm tra hoàn toàn khác nhau:

Đây là một thử nghiệm CE114E4501D2F4E2DCEA3E17B546F339

Như bạn có thể thấy, ngay cả một sự thay đổi nhỏ trong tập tin sẽ tạo ra một tổng kiểm tra rất khác nhau, làm cho nó rất rõ ràng rằng cái này không giống cái kia.

Trường hợp sử dụng Checksum

Giả sử bạn tải xuống bản cập nhật lớn, như gói dịch vụ , cho một chương trình bạn sử dụng hàng ngày, như trình chỉnh sửa đồ họa. Đây có lẽ là một tệp lớn, mất vài phút hoặc nhiều hơn để tải xuống.

Sau khi tải xuống, làm thế nào để bạn biết rằng tệp đã tải xuống đúng cách? Điều gì sẽ xảy ra nếu một vài bit bị mất trong quá trình tải xuống và tệp bạn có trên máy tính của bạn ngay bây giờ không chính xác là những gì được dự định? Áp dụng bản cập nhật cho chương trình không chính xác theo cách nhà phát triển tạo chương trình có khả năng gây ra các vấn đề lớn cho bạn.

Đây là nơi so sánh tổng kiểm tra có thể khiến tâm trí của bạn thoải mái. Giả sử trang web bạn đã tải xuống tệp cung cấp dữ liệu kiểm tra cùng với tệp sẽ được tải xuống, bạn có thể sử dụng máy tính kiểm tra (xem Kiểm tra máy tính bên dưới) để tạo tổng kiểm tra từ tệp đã tải xuống của bạn.

Ví dụ: giả sử trang web cung cấp checksum MD5: 5a828ca5302b19ae8c7a66149f3e1e98 cho tệp bạn đã tải xuống. Sau đó, bạn sử dụng máy tính kiểm tra riêng của mình để tạo ra một tổng kiểm tra bằng cách sử dụng cùng hàm băm mật mã, MD5 trong ví dụ này, trên tệp trên máy tính của bạn. Các kiểm tra có phù hợp không? Tuyệt quá! Bạn có thể rất tự tin rằng hai tệp giống hệt nhau.

Các tổng kiểm tra có khớp không? Điều này có thể có nghĩa là một người nào đó đã thay thế bản tải xuống bằng một thứ gì đó độc hại mà bạn không biết, với lý do ít bị nham hiểm như bạn đã mở và thay đổi tệp hoặc kết nối mạng bị gián đoạn và tệp không tải xuống xong. Thử tải xuống lại tệp và sau đó tạo một tổng kiểm tra mới trên tệp mới và sau đó so sánh lại.

Séc cũng hữu ích cho việc xác minh rằng tệp bạn đã tải xuống từ một nơi nào đó không phải là nguồn gốc, trên thực tế, một tệp hợp lệ và không bị thay đổi, độc hại hoặc cách khác, từ tệp gốc. Chỉ cần so sánh giá trị băm bạn tạo với mã băm có sẵn từ nguồn của tệp.

Máy tính Checksum

Checksum máy tính là những công cụ được sử dụng để tính tổng kiểm tra. Có rất nhiều máy tính kiểm tra ở đó, mỗi bộ tính năng hỗ trợ một bộ hàm băm mật mã khác nhau.

Một máy tính kiểm tra miễn phí tuyệt vời là Microsoft File Checksum Integrity Verifier, gọi tắt là fciv . Fciv chỉ hỗ trợ các hàm băm mật mã MD5SHA-1 nhưng hiện nay chúng là phổ biến nhất hiện nay.

Xem Làm thế nào để xác minh tính toàn vẹn tệp trong Windows với FCIV cho một hướng dẫn đầy đủ. Microsoft File Checksum Integrity Verifier là một chương trình dòng lệnh nhưng rất dễ sử dụng.

Một máy tính kiểm tra miễn phí tuyệt vời khác dành cho Windows là IgorWare Hasher, và nó hoàn toàn di động để bạn không phải cài đặt bất cứ thứ gì. Nếu bạn không thoải mái với các công cụ dòng lệnh, chương trình này có lẽ là một lựa chọn tốt hơn. Nó hỗ trợ MD5 và SHA-1, cũng như CRC32. Bạn có thể sử dụng IgorWare Hasher để tìm tổng kiểm tra văn bản và tệp.

JDigest là một máy tính kiểm tra mã nguồn mở hoạt động trong Windows cũng như trên macOS và Linux.

Lưu ý: Vì không phải tất cả các máy tính kiểm tra đều hỗ trợ tất cả các hàm băm mật mã có thể, hãy đảm bảo rằng bất kỳ máy tính kiểm tra nào bạn chọn sử dụng đều hỗ trợ hàm băm tạo ra tổng kiểm đi kèm với tệp bạn đang tải xuống.