CRC-32

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Redesigned the article)
(One intermediate revision by one user not shown)
Line 1: Line 1:
 
{{FormatInfo
 
{{FormatInfo
 +
|formattype=electronic
 
|subcat=Error detection and correction
 
|subcat=Error detection and correction
 
}}
 
}}
 
'''CRC-32''' is a family of 32-bit hash functions used to detect accidental data corruption.
 
'''CRC-32''' is a family of 32-bit hash functions used to detect accidental data corruption.
  
The term ''CRC-32'' by itself usually means the IEEE CRC-32 algorithm. Other members of the CRC-32 family include CRC-32Q, CRC-32C (Castagnoli), and CRC-32K (Koopman).
+
The term ''CRC-32'' by itself usually means the CRC-32/ISO-HDLC (IEEE) algorithm.
  
== See also ==
+
Refer to the [[CRC]] article for more information.
* [[CRC]]
+
  
== Specifications ==
+
== Specific algorithms ==
* [http://www.itu.int/rec/T-REC-V.42/en ITU-T Rec. V.42] Section 8.1.1.6.2 (IEEE CRC-32)
+
Selected CRC-32 algorithms are listed here. The names are from the CRC RevEng Catalogue.
  
== Software ==
+
=== CRC-32/ISO-HDLC ===
* [http://rosettacode.org/wiki/CRC-32 Rosetta Code: CRC-32]
+
Also referred to as ISO 3309, ITU-T V.42, CRC-32-IEEE, and many other names.
  
There seems to be no widely available Unix utility that computes a standard CRC-32. The POSIX '''cksum''' utility does ''not'' use the standard CRC-32 algorithm.
+
The CRC of ASCII "<code>123456789</code>" is <code>0xcbf43926</code>.
 +
 
 +
Used by [[ZIP]], [[PNG]], [[Gzip]], [[ARJ]], etc.
 +
 
 +
=== CRC-32/CKSUM ===
 +
Used by the traditional Unix/POSIX "cksum" utility.
 +
 
 +
The CRC of ASCII "<code>123456789</code>" is <code>0x377a6011</code>.
 +
 
 +
=== Others ===
 +
Other members of the CRC-32 family include CRC-32Q, CRC-32C (Castagnoli), and CRC-32K (Koopman).
  
 
== Links ==
 
== Links ==
* [[Wikipedia:Cyclic redundancy check|Wikipedia: Cyclic redundancy check]]
+
* [https://reveng.sourceforge.io/crc-catalogue/17plus.htm#crc.cat-bits.32 CRC RevEng: Catalogue of parametrised CRC algorithms - 32 bits]
 +
* [https://users.ece.cmu.edu/~koopman/crc/crc32.html CRC Polynomial Zoo - 32 Bits]
 +
* [https://www.itu.int/rec/T-REC-V.42/en ITU-T Rec. V.42] Section 8.1.1.6.2 (IEEE CRC-32)
 +
* [https://rosettacode.org/wiki/CRC-32 Rosetta Code: CRC-32]
 +
 
 +
See also [[CRC#Links]].

Revision as of 16:32, 14 January 2021

File Format
Name CRC-32
Ontology

CRC-32 is a family of 32-bit hash functions used to detect accidental data corruption.

The term CRC-32 by itself usually means the CRC-32/ISO-HDLC (IEEE) algorithm.

Refer to the CRC article for more information.

Contents

Specific algorithms

Selected CRC-32 algorithms are listed here. The names are from the CRC RevEng Catalogue.

CRC-32/ISO-HDLC

Also referred to as ISO 3309, ITU-T V.42, CRC-32-IEEE, and many other names.

The CRC of ASCII "123456789" is 0xcbf43926.

Used by ZIP, PNG, Gzip, ARJ, etc.

CRC-32/CKSUM

Used by the traditional Unix/POSIX "cksum" utility.

The CRC of ASCII "123456789" is 0x377a6011.

Others

Other members of the CRC-32 family include CRC-32Q, CRC-32C (Castagnoli), and CRC-32K (Koopman).

Links

See also CRC#Links.

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox