Y at-il une fonction de hachage qui renvoie une valeur hexadécimale à 16 chiffres (MD5 renvoie 32 chiffres) ou existe-t-il une bibliothèque (pour C++) dans laquelle je peux utiliser MD5 ou SHA-1 qui renvoie une valeur à 16 chiffresUne fonction de hachage à 16 chiffres
Répondre
Puisque vous êtes prêt à vivre avec le taux de collision beaucoup plus élevé, vous pouvez simplement tronquer le hachage MD5 des données.
wouldnt cela donner un taux de collision plus élevé que d'avoir un hachage qui renvoie 16^16 chaînes uniques – Aly
marginalement. Il y a environ 1 chance sur 30,612 d'une collision, ce qui n'est pas si impressionnant. –
est-il une bibliothèque (C++) dans laquelle je peux utiliser MD5 ou SHA-1, qui retourne une valeur de 16 chiffres
Lookup la bibliothèque (libre) ou RSA BSAFE OpenSSL crypto
(payé).
pourriez-vous fournir un exemple de la façon de tronquer le hachage de 32 chiffres à 16 en utilisant la bibliothèque de chiffrement – Aly
Si vous tronquez la taille d'une fonction de hachage cryptographique, vous la cassez, ce qui signifie que vous risquez d'endommager les propriétés qui assurent sa sécurité cryptographique. Si les propriétés cryptographiques ne sont pas importantes pour vous, alors vous n'avez pas du tout besoin d'un hachage cryptographique - vous feriez mieux d'utiliser un checksum ou un non-cryptographic hash.
Et quoi que vous fassiez, n'utilisez pas md5. Si vous avez besoin d'une fonction de hachage cryptographique, md5 n'est pas un bon choix car il existe des algorithmes qui créent des collisions dans un laps de temps raisonnable. Si vous n'avez pas besoin d'une fonction de hachage cryptographique, alors md5 est trop puissant.
- 1. Construction d'une table de hachage/fonction de hachage
- 2. Fonction de hachage procédural
- 3. Comment transmettre un hachage à une fonction en Perl?
- 4. Fonction de hachage pour une paire de long long?
- 5. Une fonction de hachage qui se construit récursivement?
- 6. Création d'un namedtuple avec une fonction de hachage personnalisé
- 7. Choix d'un multiplicateur pour une fonction de hachage (chaîne)
- 8. Existe-t-il une fonction de hachage glibc?
- 9. Fonction de hachage avec partie partiellement réversible
- 10. Recherche d'une fonction de hachage rapide
- 11. Problème avec la fonction de hachage - C
- 12. checksum/fonction de hachage avec propriété réversible
- 13. Fonction de hachage parfaite pour les URL
- 14. Fonction de hachage Visual basic 6.0
- 15. Construit en fonction de hachage python()
- 16. Hachage entier à une valeur de chaîne
- 17. Ajouter à une table de hachage
- 18. Impossible de passer un hachage et une chaîne à une fonction, ensemble dans perl!
- 19. Fonction récursive qui résume les chiffres impairs d'un entier
- 20. Quelle fonction de hachage utilise Ruby?
- 21. Expression régulière - Plage (2-16)?
- 22. migrer de jdk 14 à jdk 16
- 23. utf-8 à/de problème utf-16
- 24. Javascript parseInt avec numéro de radix 16
- 25. Horodatage à 18 chiffres?
- 26. Quelle fonction PHP utilise un tel algorithme de hachage?
- 27. fonction Javascript dans un objet/hachage
- 28. PHP crc32() des chiffres
- 29. Fonction de hachage ASP.NET la plus rapide pour le hachage des noms de fichier
- 30. Clojure: Comment appliquer une fonction à un sous-ensemble des entrées d'une table de hachage?
Dans votre question précédente, vous avez mentionné que vous vouliez stocker la valeur de hachage dans 16 caractères plutôt que dans une valeur hexadécimale à 16 chiffres. 16 caractères est 128 bits, soit le même nombre de bits que les valeurs de hachage créées avec MD5, donc si vous utilisez réellement des caractères, vous devriez être en mesure d'ajuster toute la valeur de hachage MD5 dans vos fichiers. –