The implementation is a variation of the hash function of the multiplicative string through DJ Bernstein:
unsigned djb_hash ( void *key, int len )
{
unsigned char *p = key;
unsigned h = 0;
int i;
for ( i = 0; i < len; i++ )
h = 33 * h + p[i];
return h;
}
-, , , , "item1", , -, ..; , - , "item1". -, , . Wikipedia.
, 33 31. , -. - - ( , -). -, , , -. , , ( ) , .. P(Bi = 1) ~= 0.5. , , , , , . -, , - ( PRNG) , " ", .. , ..