Was ist eine Hash-Funktion?
Eine Hash-Funktion ist eine Methode zur Computerfehlerprüfung und Datenorganisation. Eine große Datenmenge wird mit einem mathematischen Algorithmus bearbeitet, bis eine kleine Anzahl übrig bleibt. Diese Nummer wird als Teil des Katalogs verwendet, mit dem ein Computer diese bestimmte Information später finden kann. Eine gute Hash-Funktion sollte ein ausreichend kleines Ergebnis liefern, damit es einfach zu verwenden ist, aber für jeden Datensatz ein eindeutiges Ergebnis liefern. Eine Hash-Funktion bietet auch eine minimale Fehlerprüfung, da beschädigte und gute Daten beim Hashing unterschiedliche Ergebnisse liefern sollten.
In einer Computerdatenbank ist es in der Regel einfacher, Standorte mit Zahlen anstatt mit Buchstaben zu speichern. Ziffern haben eine viel größere Anzahl von Methoden zur Organisation und Sortierung als Buchstaben. Infolgedessen werden Nummern häufig Orten zugewiesen, die variable Informationen in der Datenbank eines Computers enthalten. Diese Zahlen können willkürlich oder repräsentativ für die Information sein.
Beliebige Nummern werden einfach basierend auf der Position im Speicher des Computers oder der Reihenfolge, in der die Daten gespeichert wurden, zugewiesen. Das Speichern von Informationen auf diese Weise ist in kleineren Datenbanken oder an Orten üblich, an denen sich die Daten nicht sehr oft ändern. Wenn die Datenbank in anderen Bereichen verwendet wird, dauert es immer länger, bis sie nicht mehr effizient ist.
Repräsentative Informationen sind der Ort, an dem die Hash-Funktion eingeht. Die Informationen werden, unabhängig davon, was sie enthalten, in Zahlen umgewandelt. Diese Zahlen werden in ein mathematisches Konstrukt eingegeben, das eine kleine Zahl, typischerweise eine ganze Zahl, ausgibt. Wenn die Hash-Funktion ordnungsgemäß funktioniert, hat jeder Speicherort in diesem Teil der Datenbank ein eigenes eindeutiges Ergebnis. Wenn zwei oder mehr Speicherorte dasselbe Ergebnis erzielen, können Programme die falschen Informationen basierend auf dem duplizierten Hash aufrufen.
Es ist auch möglich, eine Hash-Funktion für andere Dinge zu verwenden. Große Mengen sich stark wiederholender Daten können in kleinere Werte zerlegt werden. Dies ist besonders hilfreich, wenn Sie in großen Datenmengen nach wiederholten Sequenzen suchen. Beispielsweise besteht Desoxyribonukleinsäure (DNA) aus einer sehr geringen Anzahl verschiedener Komponenten. Wenn Sie diese Komponenten mit Hash-Werten aufschlüsseln, werden Stellen, an denen zwei DNA-Ketten gleich und verschieden sind, sehr deutlich, wenn Sie einfach zwei kleine Spalten mit Zahlen vergleichen.
Der letzte Bereich, in dem Hash-Funktionen nützlich sind, ist die Fehlerprüfung. Wenn Informationen anfänglich gehasht werden, wird der Wert als Teil des Index des Standorts aufgezeichnet. Wenn diese Informationen später benötigt werden, werden sie zusammen mit diesem Wert abgerufen. Wenn das Programm die Informationen erneut aufbereitet und das Ergebnis davon abweicht, ist irgendwann eine Beschädigung aufgetreten. Diese Beschädigung tritt normalerweise bei den Daten auf, da eine Hash-Beschädigung das Abrufen der Daten an erster Stelle verhindert hätte.