Checksum Routine

I plan to use as a Hash Function

from: en.wikipedia.org/wiki/Fletcher's_checksum

An inefficient but straightforward implementation of
a C language function to compute the Fletcher-16
checksum of an array of 8-bit data elements follows:

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;
}