> > CRCs are designed to catch N-bit errors (ie N bits in a row
> with their
> > values flipped). N is (IIRC) the number of bits in the CRC
> minus one.
> > So, a 32-bit CRC can catch all 31-bit errors. That's the
> only guarantee
> > a CRC gives. Everything else has a 1 in 2^32-1 chance of
> producing the
> > same CRC as the original data. That's pretty good odds, but not a
> > guarantee.
>
> You've got a higher chance of undetected hard drive errors,
> memory errors,
> solar flares, etc. than a CRC of that quality failing...
Also, how long is CRC in TCP/IP packages? => there is always
risk that backend will commit not what you sended to it.
Vadim