Originariamente inviato da matteo martis
intentevo dire una funzione hash che spalma discretamente bene gli elementi nell'array...
CRC32 ??
Sì, CRC32.
"spalma" implica che la vuoi efficace, non efficiente, il che dipende essenzialmente da quante saranno gli elementi (stringhe) inserite.
Nel tuo caso non serve chissà quale superfunzione, visto che gestirai le collisioni.
Anzi, per scopo di debug, ti conviene definire una funzione "scema" che NON spalmi affatto gli elementi, magari semplicemente scegliendo come posizione la 0 o la 1 se la lunghezza della stringa è pari o dispari, qualcosa di banale del genere.

Tornando alla domanda ce ne sono tante, per non dire tantissime, e per il tuo caso va benissimo anche la venerabile md5 (lascia perdere chi sostiene che non va bene blablabla), più efficiente di SHA1, e più di SHA-256, e decisamente più di Whirlpool (anche perchè crea stringhe più piccole).