[ 
https://issues.apache.org/jira/browse/CODEC-171?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13670435#comment-13670435
 ] 

Emmanuel Bourg commented on CODEC-171:
--------------------------------------

According to Wikipedia:

http://en.wikipedia.org/wiki/Cyclic_redundancy_check#Commonly_used_and_standardized_CRCs

{quote}Numerous varieties of cyclic redundancy checks have been incorporated 
into technical standards. By no means does one algorithm, or one of each 
degree, suit every purpose; Koopman and Chakravarty recommend selecting a 
polynomial according to the application requirements and the expected 
distribution of message lengths.[7] The number of distinct CRCs in use has 
confused developers, a situation which authors have sought to address.[5] There 
are three polynomials reported for CRC-12,[7] sixteen conflicting definitions 
of CRC-16, and six of CRC-32.[8]

The polynomials commonly applied are not the most efficient ones possible. 
Between 1993 and 2004, Koopman, Castagnoli and others surveyed the space of 
polynomials up to 16 bits,[7] and of 24 and 32 bits,[9][10] finding examples 
that have much better performance (in terms of Hamming distance for a given 
message size) than the polynomials of earlier protocols, and publishing the 
best of these with the aim of improving the error detection capacity of future 
standards.[10] In particular, iSCSI and SCTP have adopted one of the findings 
of this research, the CRC-32C (Castagnoli) polynomial.{quote}

I didn't know there were several flavors of CRC32. CRC32C is simply a variation 
producing different results.

                
> Add support for CRC32-C
> -----------------------
>
>                 Key: CODEC-171
>                 URL: https://issues.apache.org/jira/browse/CODEC-171
>             Project: Commons Codec
>          Issue Type: Improvement
>            Reporter: Brett Okken
>
> Add a java CRC32-C java.util.zip.Checksum implementation.
> There is a PureJavaCrc32C implementation that is part of 
> apache-hadoop-common. It would be great to have that more easily consummable 
> with far fewer transitive dependencies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to