/ / Hash funkcija: što je to, zašto je potrebna i što se događa

Hash funkcija: što je, zašto je to potrebno i što se događa

Često prilikom preuzimanja torrenta ilisame datoteke u opisu su nešto poput "ad33e486d0578a892b8vbd8b19e28754" (na primjer, u ex.ua), često s postscriptom "md5". Ovaj hash kod rezultat je koji hash funkcija proizvodi nakon obrade dolaznih podataka. U prijevodu s engleskog, haš znači zbrka, marihuana, trava ili jelo od sitno nasjeckanog mesa i povrća. Dešifriranje hasha je vrlo, vrlo teško, možemo reći da je gotovo nemoguće. Tada se postavlja pitanje: "Zašto su uopće potrebne sve te hash funkcije, ako odaju nerazumljivu besmislicu koja se još uvijek ne može dešifrirati?" O tome će biti riječi u ovom članku.

Što je hash funkcija i kako funkcionira?

hash funkcija
Ova funkcija je dizajnirana za pretvaranjeunos podataka proizvoljno velike veličine u rezultat fiksne duljine. Sam proces takve transformacije naziva se hashiranje, a rezultat se naziva hash ili hash kod. Ponekad se još uvijek koriste riječi "otisak prsta" ili "sažetak poruke", no u praksi su puno rjeđe. Postoji mnogo različitih algoritama kako možete pretvoriti bilo koji niz podataka u određeni niz znakova određene duljine. Najrašireniji je algoritam pod nazivom md5, koji je razvijen davne 1991. godine. Unatoč činjenici da je danas md5 pomalo zastario i ne preporučuje se za korištenje, on je još uvijek u upotrebi i često umjesto riječi "hash code", stranice jednostavno pišu md5 i označavaju sam kod.

Zašto je potrebna hash funkcija?

dešifrirati hash
Poznavajući rezultat, gotovo je nemoguće odreditiizvorni podaci, ali isti unos daje isti zbroj. Stoga se hash funkcija (također nazvana funkcija preklopa) često koristi za pohranu vrlo važnih informacija kao što su lozinka, prijava, identifikacijski broj i drugi osobni podaci. Umjesto da se uspoređuju informacije koje je korisnik unio s onima pohranjenima u bazi podataka, uspoređuju se njihovi hashevi. Time se osigurava da u slučaju slučajnog curenja informacija nitko neće moći koristiti važne podatke u vlastite svrhe. Usporedbom hash koda također je prikladno provjeriti ispravnost preuzimanja datoteka s Interneta, osobito ako je tijekom preuzimanja došlo do prekida veze.

Hash funkcije: što sut

hash funkcije
Ovisno o svojoj namjeni, hash funkcija može biti jedne od tri vrste:

1. Funkcija za provjeru integriteta informacija

Kada se podaci prenose preko mreže,izračunava se hash paketa, a ovaj rezultat se također prenosi zajedno s datotekom. Nakon prijema, hash kod se ponovno izračunava i uspoređuje s vrijednošću primljenom preko mreže. Ako se kod ne podudara, to ukazuje na pogreške, a oštećeni paket će se ponovno prenijeti. Takva funkcija ima veliku brzinu izračuna, ali mali broj hash vrijednosti i lošu stabilnost. Primjer ovog tipa: CRC32, koji ima samo 232 različite vrijednosti.

2. Kriptografska funkcija

Ova vrsta se koristi za zaštitu odneovlašteni pristup (ND). Omogućuju vam da provjerite je li došlo do oštećenja podataka kao posljedica ND-a tijekom prijenosa datoteka preko mreže. Pravi hash u ovom slučaju je javno dostupan, a hash rezultirajuće datoteke može se izračunati pomoću mnogo različitih programa. Takve funkcije imaju dug i stabilan vijek trajanja, a potraga za kolizijama (mogućim podudarnostima rezultata iz različitih ulaznih podataka) je vrlo teška. Upravo se te funkcije koriste za pohranjivanje lozinki (SH1, SH2, MD5) i drugih vrijednih informacija u bazi podataka.

3. Funkcija dizajnirana za stvaranje učinkovite strukture podataka

Njegova je svrha da bude kompaktan i poštenuređena organizacija informacija u posebnu strukturu koja se naziva hash tablica. Ova tablica vam omogućuje dodavanje novih informacija, brisanje informacija i pretraživanje podataka koje želite vrlo velikom brzinom.