|
from: en.wikipedia.org/wiki/Fletcher's_checksum
An inefficient but straightforward implementation of |
unsigned Fletcher16( usigned char *data, int count ) {
unsigned sum1 = 0;
unsigned sum2 = 0;
int index;
for( index = 0; index < count; ++index ) {
sum1 = (sum1 + data[index]) % 255;
sum2 = (sum2 + sum1) % 255;
}
return (sum2 << 8) | sum1;
}
|