Code de hachage numérique à longueur fixe de la chaîne de longueur variable dans c #
J'ai besoin de stocker de longueur fixe (jusqu'à 8 chiffres) nombre de produits à partir d'une chaînes de longueur variable. Le hachage n'a pas besoin d'être unique. Il a juste besoin de changer lors de l'entrée de la chaîne de modifications. Est-il une fonction de hachage .Net qui fait cela?
Grâce
Kishore.
source d'informationauteur Kishore A
Vous devez vous connecter pour publier un commentaire.
Je suppose que vous faites cela parce que vous avez besoin de stocker la valeur de l'ailleurs et de les comparer. Ainsi, Zach réponse (bien que tout à fait correct) peut vous causer des problèmes comme le contrat de Chaîne.GetHashCode() est explicite quant à sa portée pour le changement.
Ainsi, ici, est fixe et facilement reproductible dans d'autres langues, la version.
Je suppose que vous savez au moment de la compilation du nombre de chiffres après la virgule disponibles.
Ceci est basé sur le Jenkins, un À un Hachage (tel que mis en œuvre et testés de manière exhaustive par Bret Mulvey), en tant que tel, il a d'excellentes shoda des avalanches de comportement (changement d'un bit dans l'entrée se propage à tous les bits de la sortie), ce qui signifie que le un peu paresseux modulo réduction de bits à la fin n'est pas un grave défaut pour la plupart des utilisations (bien que vous pourriez faire mieux avec plus d'un comportement complexe)
Approche Simple (à noter que c'est dépend de la plateforme):
Utilisation
System.Security.Cryptography.MD5CryptoServiceProvider.ComputeHash
pour obtenir un hachage MD5, tronquer à la longueur désirée.