Khác biệt giữa CRC và Checksum Sự khác biệt giữa

Anonim

CRC và Checksum

Bất cứ khi nào dữ liệu được lưu trữ trong một máy tính với ý định truyền nó, cần phải đảm bảo rằng dữ liệu không bị hỏng. Nếu dữ liệu bị hỏng đã được gửi, sẽ có dữ liệu không chính xác được truyền đi và nó có thể không hoạt động như mong muốn. Do đó, cần có một hệ thống phát hiện lỗi để kiểm tra rằng tất cả dữ liệu nhập vào đều ổn và không bị hỏng trước khi xảy ra bất kỳ sự mã hóa hoặc truyền dẫn nào. Có hai phương pháp chính để kiểm tra dữ liệu.

Checksum được cho là phương pháp cũ nhất đã được sử dụng trong việc xác nhận tất cả dữ liệu trước khi nó được gửi đi. Checksum cũng giúp xác thực dữ liệu, vì dữ liệu thô và dữ liệu đã nhập phải phù hợp. Nếu nhận thấy một dị thường, được gọi là checksum không hợp lệ, có một gợi ý rằng có thể có một sự thỏa hiệp dữ liệu trong một phương pháp nhất định.

Kiểm tra dư thừa cyclic, hoặc CRC như nó thường được gọi, là một khái niệm cũng được sử dụng trong việc xác nhận dữ liệu. Nguyên tắc được sử dụng bởi CRC cũng tương tự như tổng kiểm tra, nhưng thay vì sử dụng hệ thống 8 byte được sử dụng bởi Checksum để kiểm tra tính nhất quán dữ liệu, sự phân chia đa thức được sử dụng để xác định CRC. CRC thường có chiều dài 16 hoặc 32 bit. Nếu một byte đơn bị thiếu, một sự không thống nhất được gắn cờ trong dữ liệu vì nó không thêm vào bản gốc.

Một trong những khác biệt được ghi nhận giữa 2 là CRC sử dụng một công thức toán học dựa trên mã hóa 16 hoặc 32 bit so với Checksum dựa trên 8 byte trong kiểm tra dữ liệu bất thường. CRC được dựa trên một phương pháp tiếp cận băm trong khi Checksum được giá trị của nó từ một bổ sung của tất cả các dữ liệu cắt ngắn có thể đến trong 8 hoặc 16 bit. Do đó, CRC có khả năng nhận diện lỗi dữ liệu lớn hơn khi một bit bị thiếu trong hệ thống băm làm thay đổi kết quả tổng thể.

Checksum, mặt khác, đòi hỏi minh bạch ít hơn và sẽ cung cấp cho phát hiện lỗi dư dật khi nó sử dụng một bổ sung của byte với biến. Do đó, có thể nói rằng mục đích chính của CRC là để nắm bắt một loạt các sai sót khác nhau có thể xảy ra trong quá trình truyền dữ liệu ở chế độ tương tự. Mặt khác, checksum có thể được thiết kế với mục đích duy nhất là ghi nhận các lỗi thông thường có thể xảy ra trong suốt quá trình triển khai phần mềm.

CRC là sự cải tiến so với tổng kiểm tra. Như đã lưu ý trước đây, tổng kiểm tra là một dạng tính toán truyền thống, và CRC chỉ là sự tiến bộ của số học tăng tính phức tạp của việc tính toán. Điều này, về bản chất, làm tăng các mẫu sẵn có, do đó có thể phát hiện nhiều lỗi hơn theo phương pháp này. Checksum đã được hiển thị để phát hiện chủ yếu là lỗi đơn-bit.Tuy nhiên, CRC có thể phát hiện bất kỳ lỗi đôi khi được quan sát trong tính toán dữ liệu. Để hiểu được sự khác biệt giữa hai phương pháp xác nhận dữ liệu, kiến ​​thức được tập hợp để giải thích tại sao hai phương pháp này được sử dụng trong giao thức Internet, vì nó làm giảm tính dễ bị tổn thương của các giao thức Internet xảy ra.

Tóm tắt:

- CRC là kỹ lưỡng hơn như là trái ngược với Checksum trong việc kiểm tra lỗi và báo cáo.

- Checksum là cũ của hai chương trình.

- CRC có một tính toán phức tạp hơn như trái ngược với tổng kiểm tra.

- Checksum chủ yếu phát hiện thay đổi dữ liệu đơn trong khi CRC có thể kiểm tra và phát hiện lỗi hai con số.

- CRC có thể phát hiện nhiều lỗi hơn tổng kiểm tra do chức năng phức tạp hơn của nó.

- Một checksum chủ yếu được sử dụng trong việc xác nhận dữ liệu khi triển khai phần mềm.

- Một CRC được sử dụng chủ yếu để đánh giá dữ liệu trong truyền dữ liệu tương tự.