HashCode vs SHA-1

J'aimerais comparer certains grands objets représentant des arbres et cache quelque chose pour éviter les comparant à chaque fois que le nouvel objet avec un déjà existant...

La question est de savoir quelle serait la meilleure chose ? (un compromis entre la performance et les collisions...).

D'une part, j'ai régulièrement un hashCode la fonction basée sur la valeur des différents champs (à la suite du chapitre 3 de efficace Java. Mais je ne suis pas en mesure d'évaluer le potentiel de collisions impliquées par une telle approche.

Sur l'autre main, j'ai l'MessageDigest approche de la java standard de la distribution de l'algorithme SHA-1. Je présume que ça ne va pas être efficace, mais j'ai peut-être moins de collision. Suis-je le droit ? Est-ce une bonne solution dans mon contexte ou suis-je complètement tort ?

Le truc c'est que je ne sais pas quelle serait la taille des objets. Veuillez également noter que la valeur calculée n'est pas destiné à être utilisé dans une table de hachage.

thx...

quelle est votre fonction de hachage?

OriginalL'auteur LB40 | 2009-05-12