Hvad er en Hash-funktion?
En hash-funktion er en metode til kontrol af computerfejl og dataorganisation. En stor mængde data manipuleres med en matematisk algoritme, indtil der er et lille antal tilbage. Dette nummer bruges som en del af kataloget, der giver en computer mulighed for at finde det specifikke stykke information senere. En god hash-funktion skal give et lille nok resultat, så det er let at bruge, men leverer et unikt resultat for hvert datasæt. En hash-funktion giver også minimal fejlkontrol, da et beskadiget og et godt stykke data skulle give forskellige resultater, når hashed.
I en computerdatabase er det typisk lettere at gemme placeringer med tal frem for bogstaver. Cifre har et meget større antal metoder til organisering og sortering end bogstaver. Som et resultat tildeles numre ofte placeringer, der indeholder variabel information i en computers database. Disse numre kan være vilkårlige eller repræsentative for informationen.
Vilkårlige numre tildeles simpelthen baseret på placering i computerens hukommelse eller den rækkefølge, hvor dataene blev gemt. Gemme information på denne måde er almindeligt i mindre databaser eller steder, hvor dataene ikke ændres meget ofte. Når det bruges i andre områder, begynder genindeksering af databasen at tage mere og mere tid, indtil den ikke længere er effektiv.
Repræsentative oplysninger er det sted, hvor hashfunktionen kommer ind. Oplysningerne, uanset hvad de indeholder, oversættes til tal. Disse tal indføres i en matematisk konstruktion, der udsender et lille tal, typisk et heltal. Hvis hash-funktionen fungerer korrekt, vil hver placering i den del af databasen have sit eget unikke resultat. Hvis to eller flere placeringer har det samme resultat, kan programmer kunne fremkalde forkerte oplysninger baseret på den duplikerede hash.
Det er muligt også at bruge en hash-funktion til andre ting. Store mængder meget gentagne data kan opdeles i mindre værdier. Dette er især rart, når man ser efter gentagne sekvenser i store datasæt. F.eks. Består deoxyribonukleinsyre (DNA) af et meget lille antal forskellige komponenter. Når man nedbryder disse komponenter ved hjælp af hashværdier, bliver steder, hvor to DNA-strenge er ens og forskellige, meget tydelige, simpelthen ved at sammenligne to små søjler med tal.
Det sidste område, hvor hashfunktioner er nyttige, er ved fejlkontrol. Når information oprindeligt hashes, registreres værdien som en del af lokationens indeks. Hvis disse oplysninger er nødvendige senere, hentes informationen sammen med denne værdi. Hvis programmet omskolerer informationen, og resultatet er anderledes, opstod der et korruption på et tidspunkt. Denne korruption er normalt med dataene, da en hashkorruption ville have forhindret dataene i at blive hentet i første omgang.