Skip to main content

Vad är en hashfunktion?

En hashfunktion är en metod för datorfelkontroll och dataorganisation.En stor mängd data manipuleras med en matematisk algoritm tills ett litet antal är kvar.Detta nummer används som en del av katalogen som gör att en dator kan hitta den specifika informationen senare.En bra hashfunktion bör ge ett tillräckligt litet resultat så det är enkelt att använda, men tillhandahålla ett unikt resultat för varje datauppsättning.En hashfunktion ger också minimal felkontroll, eftersom en skadad och en bra data bör ge olika resultat när det hashed.

I en datordatabas är det vanligtvis lättare att spara platser med siffror snarare än bokstäver.Siffror har ett mycket större antal metoder för organisation och sortering än bokstäver.Som ett resultat tilldelas siffror ofta platser som innehåller variabel information i en dators databas.Dessa siffror kan vara godtyckliga eller representativa för informationen.

Arbitriska siffror tilldelas helt enkelt baserat på position i datorns minne eller den ordning i vilken informationen sparades.Att spara information på detta sätt är vanligt i mindre databaser eller på platser där data inte ändras så ofta.När det används i andra områden börjar databasen att ta mer och mer tid tills den inte längre är effektiv.

Representativ information är där hash-funktionen kommer in. Informationen, oavsett vad den innehåller, översätts till siffror.Dessa siffror matas in i en matematisk konstruktion som matar ut ett litet antal, vanligtvis ett heltal.Om hashfunktionen fungerar korrekt kommer varje plats i den delen av databasen att ha sitt eget unika resultat.Om två eller flera platser har samma resultat, kan program få fel information baserat på den duplicerade hash.

Det är möjligt att använda en hashfunktion för andra saker också.Stora mängder mycket repetitiva data kan delas upp i mindre värden.Detta är särskilt trevligt när du letar efter upprepade sekvenser i stora datamängder.Till exempel består deoxyribonukleinsyra (DNA) av ett mycket litet antal olika komponenter.När du bryter ner komponenterna med hjälp av hashvärden, är två strängar av DNA är desamma och olika blir mycket tydliga, helt enkelt från att jämföra två små kolumner med siffror.

Det sista området där hashfunktioner är användbara är felaktiga kontroller.När information initialt hashas registreras värdet som en del av platsens index.Om den informationen behövs senare hämtas informationen tillsammans med det värdet.Om programmet omskolar informationen och resultatet är annorlunda, inträffade en korruption vid någon tidpunkt.Denna korruption är vanligtvis med uppgifterna, eftersom en hashkorruption skulle ha förhindrat att uppgifterna hämtas i första hand.