On 01/15/2016 12:23 AM, Phil Endecott wrote:
Bjorn Reese
wrote:
The protocols I am using do not use fingerprinting for error correction
CRCs are not for error correction. You might be thinking of ECC?
Sorry, I meant to write error detection.
but rather for identifying data chunks.
A CRC is a good general-purpose hash function.
Indeed, and a good example of a named hash function already in Boost. Thanks for pointing that out. That said, no single hash function excels at every possibly use case. While you can probably use any hash function (unless we require specific features such as locality-preservation) for any use case, the quality of the results differ. Some hash functions like CRC are well-suited for error detection, and other hash functions like the one in the previously cited paper are better at identifying documents.