Je vais être boiteux ici et de donner une réponse théorique plutôt une pin-pointage de réponse, mais merci de prendre de la valeur.
D'abord il y a deux problèmes distincts :
un. La probabilité de Collision
b. La Performance de hachage (c'est à dire: le temps, la cpu cycles, etc.)
Les deux problèmes sont légèrement corellated. Ils ne sont pas parfaitement corrélés.
Problème de traite de la différence entre le hashee et les espaces de hachage. Lorsque vous hachage d'un fichier de 1 ko (1024 octets) du fichier et la valeur de hachage a 32 octets, il y aura :
1,0907481356194159294629842447338 e+2466 (c'est à dire un nombre avec 2466 zéros) les combinaisons possibles des fichiers d'entrée
et le hachage de l'espace
1,1579208923731619542357098500869 e+77 (c'est à dire un numéro 77 de zéros)
La différence EST ÉNORME. il y a 2389 zéros différence entre eux. IL y AURA des COLLISIONS (une collision est un cas particulier lorsque deux fichiers d'entrée auront exactement le même hash), puisque nous sommes réduction de 10^2466 cas à 10^77 cas.
La seule façon de minimiser le risque de collision est pour agrandir le hachage de l'espace et, par conséquent, de faire de la hah plus. Idéalement, la valeur de hachage aura la longueur du fichier, mais c'est en quelque sorte débile.
Le deuxième problème est la performance. Cela ne traite qu'avec l'algorithme de hachage. Bien sûr qu'un plus hachage sera plus que probablement besoin de plus de cycles de processeur, mais un algorithme plus intelligent peut-être pas. J'ai pas vraiment de réponse à cette question. C'est tout simplement trop difficile.
Cependant, vous pouvez l'évaluer/mesurer les différentes implémentations de hachage et de tirage de pré-conclusions de cette.
Bonne chance ;)