Site hosted by Angelfire.com: Build your free website today!

CRC Error - Explained

 
Introduction

This technical note describes Cyclic Redundancy Check (CRC) in detail and shows an implementation of CRC within 4th Dimension.

CRC has been an integral part of the computer industry for quite some time. The actual implementation of CRC is quite simple, especially from within 4th Dimension. However, the concept behind CRC is less straightforward. CRC is rarely explained in a manner that is less than daunting. The aim of this technical note is to present the theory of CRC from the ground up, and enable the reader to understand CRC, without having a background in computer science. It explains how CRCs work and presents 4D code that makes CRCs easy to use in your applications.

The theory and implementation of CRC spans several "computer science" related topics. Each topic is addressed in a section of this technical note; each section within this technical note builds on the prior sections. Until you feel comfortable with your level of understanding of each section, I encourage you not to advance to the next section.

What is CRC?


A CRC performs a mathematical calculation on a block of data and returns a number that represents the content and organization of that data. The idea is to have the CRC return a number that uniquely identifies the data. You can think of CRC as being the operation that generates a "fingerprint" for a block of data. The actual number, or fingerprint, that is used to identify the data is called a checksum. The following picture, shows the flow of a CRC.

So, why perform CRCs on data? Well, by comparing the checksum of a block of data to another block of data's checksum, you can determine if the data is an exact match or not. CRCs are mostly performed when transferring files from one location to another. Depending on the medium by which files are transferred, errors to data may occur during the transmission. In mission critical applications, it may be especially important to know that files are valid and reliable. Most networking protocols use CRCs to verify data received is the same as the data that was sent.

 
There are some small programs that will fix Zip files with CRC errors, but they are very inconsistant and do not work on every Zip file - Also they do not work on Rar or Ace files

 

Back