è utilizzata da un generatore di captcha in javascript, che però ha nel server side uno script in php che utilizza quella funzione per verificare l'input del captcha. (forse meglio non postare il nome dello script)

solo che oltre al controllo in php volevo aggiungerne uno in javascript client side...

in ogni caso, ho risolto così:

codice:
function rpHash(value){
 hash=5381;
 value=value.toUpperCase();
 for(i=0;i<value.length;i++){
  hash=((hash<<5)+hash)+value.charCodeAt(i);
 }
 return hash;
}
in ogni caso mi contuna a sfuggire il significato di questa sintassi:
hash<<5