CRC-32
(Created page with "{{FormatInfo |subcat=Error detection and correction }} '''CRC-32''' is a family of 32-bit hash functions used to detect accidental data corruption. The term ''CRC-32'' by its...") |
(→Specific algorithms) |
||
(6 intermediate revisions by 2 users 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 | + | The term ''CRC-32'' by itself usually means the CRC-32/ISO-HDLC (IEEE) algorithm. |
− | + | Refer to the [[CRC]] article for more information. | |
− | + | ||
− | == | + | == Specific algorithms == |
− | + | Selected CRC-32 algorithms are listed here. The names are from the CRC RevEng Catalogue, when possible. | |
− | + | === 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 "<code>123456789</code>" is <code>0xcbf43926</code>. | ||
+ | |||
+ | Examples of formats that use CRC-32/ISO-HDLC: [[ZIP]], [[PNG]], [[Gzip]], [[ARJ]]. | ||
+ | |||
+ | === CRC-32/JAMCRC === | ||
+ | Equivalent to CRC-32/ISO-HDLC, but with the final CRC's bits inverted (or, rather, ''not'' inverted -- ISO-HDLC is the one that inverts the bits). | ||
+ | |||
+ | The CRC of ASCII "<code>123456789</code>" is <code>0x340bc6d9</code>. | ||
+ | |||
+ | Examples of formats that use CRC-32/JAMCRC: [[EDI Install archive]] and [[Eschalon Setup archive]], [[Brik]]. | ||
+ | |||
+ | === CRC-32/CKSUM === | ||
+ | The default algorithm of the traditional Unix/POSIX "cksum" utility. Note that the utility uses a high-level algorithm that preprocesses the input data. | ||
+ | |||
+ | The (high-level) CRC of ASCII "<code>123456789</code>" is <code>0x377a6011</code>. | ||
+ | |||
+ | === CRC-32/MPEG-2 === | ||
+ | * [https://reveng.sourceforge.io/crc-catalogue/17plus.htm#crc.cat.crc-32-mpeg-2 At CRC RevEng] | ||
+ | * [https://crccalc.com/?crc=123456789&method=CRC-32/MPEG-2&datatype=0&outtype=0 At crccalc.com] | ||
+ | |||
+ | === Others === | ||
+ | Other members of the CRC-32 family include CRC-32Q, CRC-32C (Castagnoli), and CRC-32K (Koopman). | ||
== Links == | == Links == | ||
− | * [[ | + | * [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] | ||
+ | * [https://crccalc.com/ Online CRC-8 CRC-16 CRC-32 Calculator] | ||
+ | |||
+ | See also [[CRC#Links]]. |
Latest revision as of 15:09, 12 October 2024
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 |
[edit] Specific algorithms
Selected CRC-32 algorithms are listed here. The names are from the CRC RevEng Catalogue, when possible.
[edit] 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
.
Examples of formats that use CRC-32/ISO-HDLC: ZIP, PNG, Gzip, ARJ.
[edit] CRC-32/JAMCRC
Equivalent to CRC-32/ISO-HDLC, but with the final CRC's bits inverted (or, rather, not inverted -- ISO-HDLC is the one that inverts the bits).
The CRC of ASCII "123456789
" is 0x340bc6d9
.
Examples of formats that use CRC-32/JAMCRC: EDI Install archive and Eschalon Setup archive, Brik.
[edit] CRC-32/CKSUM
The default algorithm of the traditional Unix/POSIX "cksum" utility. Note that the utility uses a high-level algorithm that preprocesses the input data.
The (high-level) CRC of ASCII "123456789
" is 0x377a6011
.
[edit] CRC-32/MPEG-2
[edit] Others
Other members of the CRC-32 family include CRC-32Q, CRC-32C (Castagnoli), and CRC-32K (Koopman).
[edit] Links
- CRC RevEng: Catalogue of parametrised CRC algorithms - 32 bits
- CRC Polynomial Zoo - 32 Bits
- ITU-T Rec. V.42 Section 8.1.1.6.2 (IEEE CRC-32)
- Rosetta Code: CRC-32
- Online CRC-8 CRC-16 CRC-32 Calculator
See also CRC#Links.