Kaj je hash funkcija?

Hash funkcija je metoda preverjanja računalniških napak in organizacije podatkov. Velika količina podatkov se manipulira z matematičnim algoritmom, dokler ne ostane majhno število. Ta številka se uporablja kot del kataloga, ki računalniku omogoča, da pozneje najde določeno informacijo. Dobra hash funkcija bi morala dati dovolj majhen rezultat, tako da je enostavna za uporabo, vendar zagotavlja edinstven rezultat za vsak nabor podatkov. Funkcija zgoščevanja zagotavlja tudi minimalno preverjanje napak, saj bi moral poškodovan in dober del podatkov pri zgoščevanju dati drugačne rezultate.

V računalniški bazi podatkov je običajno lažje shraniti lokacije s številkami in ne s črkami. Številke imajo veliko večje število metod za organizacijo in razvrščanje kot črke. Posledično so številke pogosto dodeljene lokacijam, ki vsebujejo spremenljive informacije v računalniški bazi podatkov. Te številke so lahko poljubne ali reprezentativne za informacije.

Poljubne številke se preprosto dodelijo glede na položaj v pomnilniku računalnika ali vrstni red, v katerem so bili podatki shranjeni. Shranjevanje informacij na ta način je običajno v manjših bazah podatkov ali na mestih, kjer se podatki ne spreminjajo zelo pogosto. Ko se uporablja na drugih področjih, ponovno indeksiranje baze podatkov traja vedno več časa, dokler ni več učinkovito.

Reprezentativna informacija je tisto, kjer se pojavi zgoščena funkcija. Informacije, ne glede na to, kaj vsebujejo, se prevedejo v številke. Te številke se vnesejo v matematično konstrukcijo, ki izpiše majhno število, običajno celo število. Če hash funkcija deluje pravilno, bo imela vsaka lokacija v tem delu baze svoj edinstven rezultat. Če imata dve ali več lokacij enak rezultat, lahko programi prikažejo napačne informacije na podlagi podvojene razpršitve.

Razpršeno funkcijo je mogoče uporabiti tudi za druge stvari. Velike količine zelo ponavljajočih se podatkov je mogoče razčleniti na manjše vrednosti. To je še posebej lepo pri iskanju ponavljajočih se zaporedij v velikih nizih podatkov. Na primer, deoksiribonukleinska kislina (DNK) je sestavljena iz zelo majhnega števila različnih komponent. Ko razčlenimo te komponente z uporabo hash vrednosti, postanejo mesta, kjer sta dva niza DNK enaka in različna, zelo jasna, preprosto iz primerjave dveh majhnih stolpcev številk.

Zadnje področje, na katerem so zgoščene funkcije uporabne, je preverjanje napak. Ko so informacije na začetku zgoščene, se vrednost zabeleži kot del indeksa lokacije. Če so te informacije potrebne pozneje, se informacije pridobijo skupaj s to vrednostjo. Če program znova uprizori informacije in je rezultat drugačen, je na neki točki prišlo do poškodbe. Ta poškodba je običajno pri podatkih, saj bi poškodba razpršitve preprečila pridobivanje podatkov.