Vad är en Hash-funktion?
En hashfunktion är en metod för datorkontroll och dataorganisation. En stor mängd data manipuleras med en matematisk algoritm tills ett litet antal finns kvar. Detta nummer används som en del av katalogen som gör det möjligt för en dator att hitta den specifika informationen senare. En bra hashfunktion bör ge ett tillräckligt litet resultat så det är enkelt att använda, men leverera ett unikt resultat för varje datauppsättning. En hashfunktion ger också minimal felkontroll, eftersom en skadad och en bra datamängd borde ge olika resultat när hash.
I en databas är det vanligtvis lättare att spara platser med siffror snarare än bokstäver. Siffrorna har ett mycket större antal metoder för organisering och sortering än bokstäver. Som ett resultat tilldelas siffror ofta till platser som innehåller variabel information i en dators databas. Dessa nummer kan vara godtyckliga eller representativa för informationen.
Godtyckliga nummer tilldelas helt enkelt baserat på position i datorns minne eller i vilken ordning data sparades. Att spara information på detta sätt är vanligt i mindre databaser eller på platser där informationen inte ändras så ofta. När det används i andra områden börjar det att ta indexering av databasen mer och mer tid tills det inte längre är effektivt.
Representativ information är där hashfunktionen kommer in. Informationen, oavsett vad den innehåller, översätts till siffror. Dessa nummer matas in i en matematisk konstruktion som matar ut ett litet tal, vanligtvis ett heltal. Om hashfunktionen fungerar korrekt kommer varje plats i databasen att ha sitt unika resultat. Om två eller flera platser har samma resultat kan program ta fram fel information baserat på den duplicerade hash.
Det är möjligt att använda en hash-funktion också för andra saker. Stora mängder mycket repetitiva data kan delas upp i mindre värden. Detta är särskilt trevligt när man letar efter upprepade sekvenser i stora datamängder. Till exempel består deoxyribonukleinsyra (DNA) av ett mycket litet antal olika komponenter. När man bryter ner dessa komponenter med hashvärden blir platser där två strängar av DNA är desamma och olika 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 vid felkontroll. När information inleds initialt 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 återuppdaterar informationen och resultatet är annorlunda inträffade en korruption någon gång. Denna korruption är vanligtvis med uppgifterna, eftersom en hashkorruption skulle ha förhindrat att data hämtades i första hand.