Hash funkcija priima bet kokį įvestį (tekstą, failą, duomenis) ir sukuria fiksuoto ilgio simbolių eilutę, vadinamą hash arba digest. Ta pati įvestis visada sukuria tą patį hash, tačiau net ir mažiausias įvesties pokytis sukuria visiškai kitokį hash. Ši savybė daro hash'us būtinais duomenų vientisumo patikrinimui, slaptažodžių saugojimui ir skaitmeninėms parašams.
Įprasti Hash Algoritmai
MD5 sukuria 128 bitų (32 simbolių) hash. Nors greitas, jis nebėra laikomas saugiu kriptografiniams tikslams, tačiau vis dar plačiai naudojamas kontrolinėms sumoms ir nesaugos programoms. SHA-1 sukuria 160 bitų (40 simbolių) hash ir taip pat yra atšauktas saugumo naudojimui. SHA-256 ir SHA-512 (SHA-2 šeimos dalis) yra dabartinis standartas saugiam hash'inimui, sukuriantys atitinkamai 256 bitų (64 simbolių) ir 512 bitų (128 simbolių) hash'us.
Praktiniai Hash Funkcijų Naudojimai
Kūrėjai naudoja hash'us failų vientisumui tikrinti (palyginant kontrolines sumas), slaptažodžių saugiam saugojimui (hash'inti, o ne paprastu tekstu), unikalių identifikatorių generavimui, skaitmeninėms parašams ir duomenų dedupikacijai. Jei atsisiunčiate failą ir norite patikrinti, ar jis nebuvo pakeistas, palyginkite atsisiųsto failo hash su oficialiu hash, kurį pateikė leidėjas.