Skip to main content

Hva er hasj?

Hashes er matematiske formler som tar en streng med data med variabel lengde, vanligvis i form av tekst, og konverterer den til kortere, faste lengde numeriske verdier.Hashes brukes ofte i databaser for å gjøre søk raskere og mer effektive.De brukes også i kryptering for å sikre at passord ikke blir kompromittert og for å autentisere digitale signaturer, blant andre bruksområder.Hashes går også under navnet på hasjfunksjoner, og kan også betraktes som algoritmer.

Hashes spiller en stor rolle i å tilrettelegge for databasesøk.I en database som består av navn, for eksempel, hvis en bruker søker etter "John Doe", må datamaskinen matche alle tegnene i søket til hver databaseoppføring.Hver karakter i navnet ville ha 26 forskjellige muligheter og mdash;bokstavene i det engelske alfabetet mdash;Mens den variable lengden på oppføringene også vil bremse søket.

I motsetning til det, ville bruk av en hasjfunksjon gjøre datamaskinens liv mye enklere.Å gjøre hver tekststreng til en serie med tall vil forenkle søket, fordi datamaskinen bare ville ha ti muligheter for å sjekke for hvert tegn: sifre “0” til “9.”Den faste lengden på tallserien hjelper også datamaskinen med å gjøre jobben sin mer effektivt.

I en database med en hasjfunksjon brukt, har alle oppføringer et tilsvarende, unikt tall.Dette kalles en hash -tast.I dette tilfellet, når du gjør et søk, bruker datamaskinen først hash -funksjonen på inngangen du har skrevet, for eksempel "John Doe."Dette resulterer i en numerisk verdi, for eksempel "456789."Datamaskinen kan da raskt samsvare med dette resultatet til hash -tasten som tilsvarer riktig oppføring.

Hashes fungerer også som digitale signaturer.For eksempel ønsker en avsender, Robert, å sende et dokument til noen, og mottakeren, Mary, ønsker å sørge for at dokumentet ikke har blitt tuklet med mens du er på vei.Avsenderen, Robert, må bare kjøre dokumentet gjennom en hasjfunksjon, noe som resulterer i en numerisk verdi.Robert krypterer deretter hash -tasten og sender dokumentet sammen med den krypterte nøkkelen.

Mary mottar begge elementene og dekrypterer hasjetasten.Hun kan nå se den numeriske verdien som ble resultatet av dokumentet før det ble sendt.For å bekrefte at dokumentet i hendene hennes er den samme, kjører hun dokumentet gjennom en hasjfunksjon på datamaskinen sin.Til slutt sammenligner hun begge nøklene.Hvis de er de samme, ble ikke dokumentet endret på vei til mottakeren.

Mange forskjellige hashfunksjoner eksisterer, hver med sine egne matematiske formler.For at en hasjfunksjon skal fungere, må den minimere enhver kollisjon, som oppstår når to databaseoppføringer har samme hash -tast.Hash-funksjoner må også være enveis.Det betyr at du kan produsere en nøkkel fra en databaseoppføring eller dokument, men ikke omvendt.Med andre ord, du kan ikke "reversere" originaldokumentet fra hash-tasten.