从字符串hash到32位unsigned int
/* hash: compute hash value of string */
unsigned int hash(char *str)
{
unsigned int h;
unsigned char *p;
const unsigned int multiplier = 37; //或31
h = 0;
for (p = (unsigned char*)str; *p != '\0'; p++)
h = multiplier * h + *p;
return h;
}