Was ist die Bibel des Hashing?


11

Gibt es einen Cormen- ähnlichen Hinweis auf Hashes und Hashing? Diese besondere Struktur hat aus irgendeinem Grund in meiner CS-Ausbildung wenig Beachtung gefunden, aber ich würde gerne mehr darüber erfahren, da sie anscheinend überall sind. Ich weiß, dass Cormen es behandelt, aber ich suche etwas Spezialisierteres und Tieferes.


Soweit ich weiß, gibt es nicht so viele Bücher über Hashes und nur Hashes. Ich bin sicher, Sie können einige finden, aber sie werden nicht als "Bibel" anerkannt.
Dynamisch

Ich verstehe deine Frage nicht wirklich. Ein Hash ist nur ein BLOB, das von einer Hash-Funktion zurückgegeben wird. Möchten Sie mehr über Hash-Funktionen erfahren? Sprechen Sie über kryptografische Hash-Funktionen oder die schnelle, aber unsichere Art, die in den meisten Hashtabellen verwendet wird? Oder über Hashtables?
CodesInChaos

5
Ich gehe davon aus, dass Sie mit Cormen Thomas H. Cormen meinen und sich somit auf die Einführung in Algorithmen beziehen . Es ist normalerweise eine gute Idee, auf solche Ressourcen zu verlinken, da diese möglicherweise nicht so bekannt sind, wie Sie annehmen.
Mark Booth

Antworten:


5

Das Buch File Organization and Processing hat mir sehr gut gefallen . Trotz seines Namens ist es nur ein Buch mit Datenstrukturen. In der ersten Hälfte geht es um Hashing und verschiedene Methoden zur Kollisionsauflösung. Später werden einige dynamische Hashing-Algorithmen behandelt.

Es ist ein bisschen alt, aber es ist immer noch nützlich. Für jeden Algorithmus gibt es schrittweise Beispiele und Antworten auf die Übungen.

Haftungsausschluss: Ich bin voreingenommen, weil der Autor einer meiner CS-Professoren war.


1

Cormen ist heutzutage etwas veraltet. Die Wikipedia-Seite bietet eine gute Sammlung und Diskussion , aber der Marktführer für schnellen, nicht kryptografischen Datenzugriff ist heutzutage Murmel-Hash .

ps Man könnte argumentieren, dass heutzutage keine neuen Bibeln mehr erstellt werden. Es gibt nur sehr gute Seiten auf Wikipedia und Stack Overflow. :) :)


Welche Art von Hash Sie benötigen, hängt entscheidend von den zu hashenden Daten (sowohl im Normalfall als auch im abnormalen Fall) und von der Art der zu erstellenden Hash-Tabelle ab. Beispielsweise sind Hash-Funktionen, die stark gegen Angriffe sind (abnormaler Fall), bei durchschnittlichen Daten (normaler Fall) tendenziell langsamer, und es kann externe Mechanismen geben, um den Schaden in einem abnormalen Fall zu begrenzen (z. B. Gesamtbeschränkungen für die Gesamtgröße der Eingabe) Daten).
Donal Fellows

-1

Ich vermute, dass das Erlernen von Hashes nicht dasselbe ist wie das Erlernen von Zufallszahlengeneratoren (rng), sondern ein sehr ähnliches Feld, um zu wissen, was eine echte Zufallszahl von einer Pseudozufallszahl und die Qualität der Zufälligkeit unterscheidet. Sie wissen wahrscheinlich, wie man ein Bild xoriert, um alle Arten von Daten zu verbergen, die Sie daraus extrahieren könnten. Das ist also meine Vermutung. Sie brauchen ein paar gute Samen für einen guten Hash und das Wissen über Zufälligkeit könnte helfen.


Eine Antwort sollte die Frage vollständig beantworten. Hier geht es um maßgebliche Quellen und Referenzmaterial für Informationen zu Hashes. In Ihrer Antwort werden keine Quellen oder Materialien erwähnt. Ich möchte Sie ermutigen, die Hilfe zu lesen . Denken Sie daran, dass Stack Exchange kein Forum ist - dies sind Antworten, keine Kommentare oder Tangenten.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.