Bonjour,


Je cherche à résoudre le problème suivant, il peut paraître surprenant mais je ne peux le contourner d'aucune manière.

Je dispose de n fichiers, n<2048 dont le nom est limité à 12 caractères quelconques.

Je cherche à générer pour chacun de ces fichiers un identifiant unique, entier numérique, contenu sur 16 bits.

En fait le problème revient à déterminer pour l'ensemble des n nom de fichier, une fonction de hachage me donnant un identifiant unique et différent pour chaque nom de fichier.

f(fichier_1) = n1, f(fichier_2) = n2 ..., f(fichier_nb_fichiers) = n_nb_fichiers...

avec pour tout i, j, i différent de j, f(fichier_i) != f(fichier_j)

Intuitivement je dirais que c'est possible. Avez-vous une approche à me suggérer car je seche sur ce problème et mes recherches n'ont pas aboutie.

Je pourais y aller en force brute et tester des hachages paramétrés jusqu'à ne plus avoir de collision mais ça n'est guère esthétique...

Cordialement,