Skip to main content

Vad är hash?

Hash är matematiska formler som tar en rad data med variabel längd, vanligtvis i form av text, och omvandlar den till kortare, fast längd numeriska värden.Hash används ofta i datordatabaser för att göra sökningar snabbare och effektivare.De används också i kryptering för att säkerställa att lösenord inte komprometteras och för att autentisera digitala signaturer, bland andra användningsområden.Hashs går också med namnet på hashfunktioner och kan också betraktas som algoritmer.

Hashs spelar en stor roll för att underlätta databassökningar.I en databas som består av namn, till exempel, om en användare söker efter "John Doe", skulle datorn behöva matcha alla tecken i sökningen till varje databaspost.Varje karaktär i namnet skulle ha 26 olika möjligheter och mdash;bokstäverna i det engelska alfabetet mdash;Medan postens variabla längd också skulle bromsa sökningen.

Däremot skulle tillämpa en hashfunktion göra datorns liv mycket enklare.Att förvandla varje textsträng till en serie siffror skulle förenkla sökningen, eftersom datorn bara skulle ha tio möjligheter att kontrollera för varje tecken: siffror "0" till "9."Den fasta längden på nummerserien hjälper också datorn att göra sitt jobb mer effektivt.

I en databas med en hashfunktion tillämpad har alla poster ett motsvarande, unikt nummer.Detta kallas en hashnyckel.I det här fallet, när du gör en sökning, tillämpar datorn först hash -funktionen på den ingång du har skrivit, till exempel "John Doe."Detta resulterar i ett numeriskt värde, till exempel "456789."Datorn kan sedan snabbt matcha detta resultat till hashnyckeln som motsvarar rätt post.

Hashs fungerar också som digitala signaturer.Till exempel vill en avsändare, Robert, skicka ett dokument till någon och mottagaren, Mary, vill se till att dokumentet inte har manipulerats under väg.Avsändaren, Robert, måste bara köra dokumentet genom en hashfunktion, vilket resulterar i ett numeriskt värde.Robert krypterar sedan hashnyckeln och skickar dokumentet tillsammans med den krypterade nyckeln.

Mary tar emot båda artiklarna och dekrypterar hashnyckeln.Hon kan nu se det numeriska värdet som resulterade från dokumentet innan det skickades.För att verifiera att dokumentet i hennes händer är exakt samma, kör hon dokumentet genom en hashfunktion på sin dator.Slutligen jämför hon båda nycklarna.Om de är desamma ändrades inte dokumentet på väg till mottagaren.

Många olika hashfunktioner finns, var och en med sina egna matematiska formler.För att en hashfunktion ska fungera måste den minimera all kollision, som uppstår när två databasposter har samma hashnyckel.Hash-funktioner måste också vara envägs.Det betyder att du kan producera en nyckel från en databaspost eller dokument, men inte tvärtom.Med andra ord kan du inte "omvända ingenjören" originaldokumentet från dess hash-nyckel.