Skip to main content

Co jsou hashe?

Hashes jsou matematické vzorce, které berou řetězec dat o variabilní délce, obvykle ve formě textu, a převádějí je na kratší číselné hodnoty s pevnou délkou.Hashes se často používají v počítačových databázích, aby se vyhledávání zrychleně a efektivnější.Používají se také při šifrování, aby zajistily, že hesla nejsou ohrožena a ověřují mimo jiné digitální podpisy.Hashes také prochází názvem hashových funkcí a lze je také považovat za algoritmy.

Hashes hraje velkou roli při usnadňování vyhledávání databáze.V databázi sestávající z jmen, například, pokud uživatel vyhledá „John Doe“, počítač by musel porovnat všechny znaky při vyhledávání k těm z každé položky databáze.Každá postava ve jménu by měla 26 různých možností mdash;písmena anglické abecedy mdash;Zatímco proměnná délka položek by také zpomalila vyhledávání.Proměnění každého textového řetězce na řadu čísel by vyhledávání zjednodušilo, protože počítač by měl pouze deset možností ke kontrole každého znaku: číslice „0“ na „9.“.Pevná délka řady čísel také pomáhá počítači efektivněji vykonávat svou práci.

V databázi s použitou funkcí hash, všechny položky mají odpovídající, jedinečné číslo.Tomu se říká klíč hash.V tomto případě, když provedete vyhledávání, počítač nejprve použije funkci hash na vstup, který jste napsali, například „John Doe“.To má za následek číselnou hodnotu, například „456789.“Počítač pak může rychle přizpůsobit tento výsledek s klíčem hash odpovídající správné položce.

Hashes také funguje jako digitální podpisy.Například odesílatel, Robert, chce poslat dokument někomu a příjemci, Mary, chce zajistit, aby dokument nebyl na cestě manipulován.Odesílatel Robert musí dokument spustit pouze prostřednictvím hashové funkce, což má za následek číselnou hodnotu.Robert poté šifruje hash klíč a pošle dokument spolu s šifrovaným klíčem.

Mary obdrží obě položky a dešifruje klíč hash.Nyní může vidět numerickou hodnotu, která vyplynula z dokumentu před jeho odesláním.Aby byla ověřena, že dokument v jejích rukou je přesně stejný, spustí dokument prostřednictvím hashové funkce na svém počítači.Nakonec porovnává obě klíče.Pokud jsou stejné, pak se dokument nezměnil na cestě k příjemci.

Existuje mnoho různých funkcí hash, každý s vlastními matematickými vzorci.Aby funkce hash fungovala, musí minimalizovat jakoukoli kolizi, ke které dochází, když mají dvě položky databáze stejný klíč hash.Funkce hash musí být také jednosměrně.To znamená, že můžete vytvořit klíč z položky nebo dokumentu databáze, ale ne naopak.Jinými slovy, nelze „reverzní inženýr“ původní dokument z jeho klíče hash.