Što je hash funkcija?

Hash funkcija je metoda provjere računalnih pogrešaka i organizacije podataka. Velikom količinom podataka manipulira se matematičkim algoritmom dok ne ostane mali broj. Ovaj se broj koristi kao dio kataloga koji omogućuje računalu da kasnije pronađe tu određenu informaciju. Dobra hash funkcija trebala bi dati dovoljno mali rezultat tako da je jednostavna za korištenje, ali daje jedinstveni rezultat za svaki skup podataka. Hash funkcija također pruža minimalnu provjeru pogrešaka, budući da bi oštećen i dobar dio podataka trebao dati različite rezultate kada se rasprši.

U računalnoj bazi podataka obično je lakše spremati lokacije brojevima, a ne slovima. Brojke imaju mnogo veći broj metoda za organizaciju i sortiranje od slova. Kao rezultat toga, brojevi se često dodjeljuju lokacijama koje sadrže promjenjive informacije unutar baze podataka računala. Ovi brojevi mogu biti proizvoljni ili reprezentativni za informacije.

Proizvoljni brojevi se jednostavno dodjeljuju na temelju položaja u memoriji računala ili redoslijeda u kojem su podaci spremljeni. Spremanje informacija na ovaj način uobičajeno je u manjim bazama podataka ili na mjestima na kojima se podaci ne mijenjaju često. Kada se koristi u drugim područjima, ponovno indeksiranje baze podataka počinje oduzimati sve više vremena dok više ne bude učinkovito.

Reprezentativne informacije su mjesto gdje se pojavljuje hash funkcija. Informacije, bez obzira na to što sadrže, prevode se u brojeve. Ti se brojevi unose u matematičku konstrukciju koja daje mali broj, obično cijeli broj. Ako hash funkcija radi ispravno, svaka lokacija u tom dijelu baze podataka imat će svoj jedinstveni rezultat. Ako dvije ili više lokacija imaju isti rezultat, programi bi mogli prikazati pogrešne informacije na temelju dupliciranog hasha.

Moguće je koristiti hash funkciju i za druge stvari. Velike količine vrlo ponavljajućih podataka mogu se razbiti na manje vrijednosti. Ovo je posebno lijepo kada tražite ponovljene sekvence u velikim skupovima podataka. Na primjer, deoksiribonukleinska kiselina (DNK) se sastoji od vrlo malog broja različitih komponenti. Kada se te komponente rastavljaju pomoću hash vrijednosti, mjesta na kojima su dva niza DNK isti i različiti postaju vrlo jasni, jednostavno iz usporedbe dva mala stupca brojeva.

Posljednje područje u kojem su hash funkcije korisne je provjera grešaka. Kada se informacije inicijalno rasprše, vrijednost se bilježi kao dio indeksa lokacije. Ako su te informacije potrebne kasnije, informacije se dohvaćaju zajedno s tom vrijednošću. Ako program ponovno ispiše informacije i rezultat je drugačiji, tada je u nekom trenutku došlo do oštećenja. To je oštećenje obično s podacima, jer bi hash korupcija spriječila dohvat podataka.