Hva er Hashes?

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

Hashes spiller en stor rolle i å forenkle databasesøk. I en database som består av navn, for eksempel hvis en bruker søker etter "John Doe", vil datamaskinen måtte samsvare alle tegnene i søket til de i hver databaseoppføring. Hvert tegn i navnet vil ha 26 forskjellige muligheter - bokstavene i det engelske alfabetet - mens variabel lengde på oppføringene også vil bremse søket.

Derimot vil bruk av en hasjfunksjon gjøre datamaskinens liv mye enklere. Å gjøre hver tekststreng om til en serie med tall vil forenkle søket, fordi datamaskinen bare har ti muligheter til å se etter hvert tegn: sifre “0” til “9.” Den faste lengden på nummerserien hjelper også datamaskinen til å gjøre sitt jobbe mer effektivt.

I en database med en hashfunksjon brukt, har alle oppføringer et tilsvarende, unikt nummer. Dette kalles en hasjnøkkel. I dette tilfellet, når du gjør et søk, bruker datamaskinen først hasjfunksjonen på inndataene du har skrevet, for eksempel "John Doe." Dette resulterer i en numerisk verdi, for eksempel "456789." Datamaskinen kan deretter raskt match dette resultatet til hasjtasten 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, vil sørge for at dokumentet ikke har blitt tuklet med mens du er på vei. Avsenderen, Robert, trenger bare å kjøre dokumentet gjennom en hasjfunksjon, noe som resulterer i en numerisk verdi. Robert krypterer deretter hasjnøkkelen og sender dokumentet sammen med den krypterte nøkkelen.

Mary mottar begge varene og dekrypterer hasjnøkkelen. 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 nøyaktig det samme, kjører hun dokumentet gjennom en hasjfunksjon på datamaskinen sin. Til slutt sammenligner hun begge tastene. Hvis de er de samme, ble ikke dokumentet endret på vei til mottakeren.

Det finnes mange forskjellige hasjfunksjoner, 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 den samme hasjnøkkelen. Hashfunksjoner må også være enveis. Det betyr at du kan produsere en nøkkel fra en databaseoppføring eller et dokument, men ikke omvendt. Med andre ord, du kan ikke “reversere” originaldokumentet fra hasjnøkkelen.

ANDRE SPRÅK

Hjalp denne artikkelen deg? Takk for tilbakemeldingen Takk for tilbakemeldingen

Hvordan kan vi hjelpe? Hvordan kan vi hjelpe?