CRC32 Class Overview .NET
Seekford Solutions .NET Class Library  

CRC32 Class

CRC32 is the method used for a more effective error check for a set of binary data. It is generally used as a method for verifying that a set of data was transmitted properly over a data connection or as a way of verifying file integrity. 

For a list of all members of this type, see  CRC32 Class Members.

 public class CRC32

Thread Safety

Any public static (Shared in Visual Basic) members of this type are safe for multithreaded operations. Any instance members are not guaranteed to be thread safe.

Remarks

The CRC32 encoding is most commonly used in the transport of binary data through data channels which are not considered to be 100% reliable. It is also commonly used for file integrity validation to check if it has been tampered with or corrupted. CRC32 is quite efficient and requires minimal overhead for the computation. It works great for a balanced robust and quick method for ensuring data integrity.  (CRC or "cyclic redundancy code") A number derived from, and stored or transmitted with, a block of data in order to detect corruption. By recalculating the CRC and comparing it to the value originally transmitted, the receiver can detect some types of transmission errors.

A CRC is more complicated than a checksum . It is calculated using division either using shifts and exclusive ORs or table lookup modulo 256 or 65536).The CRC is "redundant" in that it adds no information. A single corrupted bit in the data will result in a one bit change in the calculated CRC but multiple corrupted bits may cancel each other out.

There are a few way to handle the addition of data. The most simplistic method is to use the ComputeCRC or ComputeFileCRC. If you want more control then you can use the Init and Update methods to calculate it bytes at a time. This method may be useful for looking at the CRC32 after segments of data and then looking at the final CRC32 for the entire range of data.

Requirements

Namespace: SeekfordSolutions.EncoderWizard

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows .NET Server family

Assembly: EncoderWizard (in EncoderWizard.dll)

See Also

CRC32 Class Members EncoderWizard Namespace