Skip to main content

Hvad er hash?

Hashes er matematiske formler, der tager en række data om variabel længde, normalt i form af tekst, og konverterer dem til kortere, fast længde numeriske værdier.Hashes bruges ofte i computerdatabaser for at gøre søgninger hurtigere og mere effektive.De bruges også til kryptering for at sikre, at adgangskoder ikke kompromitteres og til at autentificere digitale underskrifter, blandt andre anvendelser.Hashes går også under navnet Hash -funktioner og kan også betragtes som algoritmer.

Hashes spiller en stor rolle i at lette databasesøgninger.I en database bestående af navne, for eksempel, hvis en bruger søger efter "John Doe", skulle computeren matche alle tegnene i søgningen til dem i hver databaseindgang.Hver karakter i navnet ville have 26 forskellige muligheder og mdash;bogstaverne i det engelske alfabet mdash;Mens postens variable længde også ville bremse søgningen.

I modsætning hertil ville anvendelse af en hash -funktion gøre computerens liv meget lettere.At omdanne hver tekststreng til en række numre ville forenkle søgningen, fordi computeren kun ville have ti muligheder for at kontrollere for hver karakter: cifre “0” til “9.”Den faste længde af nummerserien hjælper også computeren med at gøre sit job mere effektivt.

I en database med en hash -funktion, der anvendes, har alle poster et tilsvarende, unikt nummer.Dette kaldes en hash -nøgle.I dette tilfælde, når du foretager en søgning, anvender computeren først hash -funktionen på det input, du har skrevet, såsom "John Doe."Dette resulterer i en numerisk værdi, for eksempel "456789."Computeren kan derefter hurtigt matche dette resultat til hash -tasten, der svarer til den korrekte post.

Hashes fungerer også som digitale signaturer.For eksempel ønsker en afsender, Robert, at sende et dokument til nogen, og modtageren, Mary, ønsker at sikre, at dokumentet ikke er blevet manipuleret med undervejs.Afsenderen, Robert, skal kun køre dokumentet gennem en hash -funktion, hvilket resulterer i en numerisk værdi.Robert krypterer derefter hash -tasten og sender dokumentet sammen med den krypterede nøgle.

Mary modtager begge genstande og dekrypterer hash -tasten.Hun kan nu se den numeriske værdi, der er resultatet af dokumentet, før det blev sendt.For at verificere, at dokumentet i hendes hænder er nøjagtigt det samme, kører hun dokumentet gennem en hash -funktion på sin computer.Til sidst sammenligner hun begge nøgler.Hvis de er de samme, blev dokumentet ikke ændret på vej til modtageren.

Der findes mange forskellige hashfunktioner, hver med deres egne matematiske formler.For at en hashfunktion skal fungere, skal den minimere enhver kollision, der opstår, når to databaseposter har den samme hash -nøgle.Hash-funktioner skal også være envejs.Det betyder, at du kan fremstille en nøgle fra en databaseindgang eller -dokument, men ikke omvendt.Med andre ord kan du ikke "omvendt engineer" det originale dokument fra dets hash-nøgle.