Qu'est-ce que la Bible de hachage?


11

Existe-t-il une référence de type Cormen sur les hachages et le hachage? Cette structure particulière a vu peu d'attention dans mon éducation CS pour une raison quelconque, mais j'aimerais en savoir plus car ils semblent être partout. Je sais que Cormen le couvre, mais je recherche quelque chose de plus spécialisé et approfondi.


Pour autant que je sache, il n'y a pas beaucoup de livres sur les hachages et seulement des hachages. Je suis sûr que vous pouvez en trouver quelques-uns, mais ils ne sont pas reconnus comme la "Bible".
Dynamique

Je ne comprends pas vraiment votre question. Un hachage est juste un BLOB renvoyé par une fonction de hachage. Voulez-vous en savoir plus sur les fonctions de hachage? Parlez-vous des fonctions de hachage cryptographiques, ou du type rapide mais non sécurisé utilisé dans la plupart des tables de hachage? Ou sur les Hashtables?
CodesInChaos

5
Je suppose que par Cormen, vous entendez Thomas H. Cormen et faites donc référence à Introduction to Algorithms . C'est généralement une bonne idée de créer un lien vers ces ressources, car elles peuvent ne pas être aussi largement connues que vous le supposez.
Mark Booth

Réponses:


5

J'ai vraiment apprécié le livre File Organisation and Processing . Malgré son nom, ce n'est qu'un livre de structures de données. La première moitié concerne le hachage et diverses méthodes de résolution des collisions, et plus tard il y a une couverture de certains algorithmes de hachage dynamiques.

C'est un peu vieux mais c'est quand même utile. Il existe des exemples étape par étape pour chaque algorithme et des réponses aux exercices.

Avertissement: je suis partial car l'auteur était l'un de mes professeurs CS.


1

Cormen est un peu dépassé ces jours-ci. La page wikipedia a une bonne collection et une bonne discussion , mais le leader de nos jours pour un accès rapide et non cryptographique aux données est le hachage de murmure .

ps On pourrait soutenir que de nouvelles bibles ne sont plus créées de nos jours. Il y a juste de très bonnes pages sur Wikipedia et Stack Overflow. :)


Le type de hachage dont vous avez besoin dépend de manière critique des données hachées (à la fois dans le cas normal et dans le cas anormal) et du type de table de hachage en cours de construction. Par exemple, les fonctions de hachage qui sont fortes contre les attaques (cas anormal) ont tendance à être plus lentes avec des données moyennes (cas normal) et il peut y avoir des mécanismes externes pour limiter les dommages dans un cas anormal (par exemple, des limites globales sur la taille totale de l'entrée Les données).
Donal Fellows

-1

Je suppose que l'apprentissage des hachages n'est pas la même chose que l'apprentissage des générateurs de nombres aléatoires (rng) mais son champ très similaire de manière à savoir ce qui diffère un vrai nombre aléatoire d'un pseudo-aléatoire et la qualité de l'aléatoire. Vous savez probablement comment xer une image pour cacher tout type de données que vous pourriez en extraire, c'est donc ma supposition. Vous avez besoin de bonnes graines pour un bon hachage et connaître le hasard pourrait vous aider.


Une réponse doit répondre pleinement à la question. La question ici concerne les sources faisant autorité et le matériel de référence pour des informations sur les hachages. Votre réponse ne mentionne aucune source ou matériel. Je vous encourage à lire le centre d'aide . N'oubliez pas que Stack Exchange n'est pas un forum - que ce sont des réponses et non des commentaires ou des tangentes.
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.