private function rotatingHash($key) {
$result = 0;
$n=strlen($key);
for($i=0;$i<$n;$i++) {
$result = ($result << 4) ^ ($result >> 28) ^ ord($key[$i]);
}
//We avoid getting negative results
return abs($result);
}
Aqui podeis leer sobre ella y otras muchas. Pero realmente no creo que os sea muy interesante...En su lugar podríais usar crc32() que es nativa y por lo tanto mucho más rápida.
Ya como curiosidad... si quereis usar md5, debereis hacer....
$unpack = unpack('S', md5($key, true));
return $unpack[1];
Pero es mas lenta que crc32.
1 comentario:
¿Que utilidad tiene esto?
$unpack = unpack('S', md5($key, true));
return $unpack[1];
No lo entiendo, podrías explicarlo un poco.
Publicar un comentario