Hvad er Hash-værdier?
Udtrykket hashværdi henviser til et stykke data, kendt som en værdi, givet som svaret på en hashfunktion. Hash-funktioner er de samme som hash-algoritmer og udfører handlingen med at omdanne et stort sæt data til et mindre sæt, der repræsenterer det fulde sæt. Denne proces omtales som hashing og bruges ofte i computerdatabaser. Det giver computeren mulighed for at oprette en kort kode eller symbol, der repræsenterer et stort stykke data. Når computeren skal hente det store stykke data fra en enorm database, indsætter den blot koden eller symbolet og ved hjælp af en hash-funktion finder den det større stykke data.
Koder og symboler, der repræsenterer kortere dataformer, kaldes nøgler. Brug af korte taster sparer tid, når du søger gennem en stor database. De bruges også i nogle krypterings- og dekrypteringsfunktioner. Brugeren indtaster nøglekoden, og hashfunktionen søger efter den matchende hashværdi i databasen. Hver nøgle forbindes med en bestemt hashværdi og skal forbinde brugeren til de relevante dataoplysninger, han leder efter.
Et eksempel på nøgler og hashværdier til daglig brug er en bibliotekscomputer, der kunne bruge en hash-funktion til at knytte en persons navn til de bøger, han har tjekket ud. Hver person i databasen tildeles en nøgle. For eksempel fungerer kunde John Smiths navn som nøglekoden, mens han muligvis får en hashværdi på 01. Denne hashværdi forbinder nøglen til et sted til lagring af data, ofte benævnt en spand. Når John Smith tjekker en bog, sætter computeren titlen på den bog i den tilsvarende virtuelle spand.
For at se hvilke bøger John Smith har tjekket ud, kunne bibliotekaren indtaste hans navn, som er nøglen, og hashfunktionen forbinder John Smith med hans tilsvarende hashværdi på 01. Den ville derefter trække alle data op under 01 og vise det. I dette tilfælde ville dataene være en liste over bøger, som John Smith har tjekket ud. Hvorvidt et bibliotek rent faktisk vil bruge hash-funktioner på denne måde, afhænger af, om en anden type funktion kunne udføre opgaven lettere, men dette eksempel viser det grundlæggende koncept med hashværdier.
Hash-værdier bruges ofte i hash-tabeller eller hash-kort, der fungerer som bibliotekeksemplet forklaret ovenfor. De knytter nøgler til bestemte hashværdier og giver brugeren mulighed for at søge efter information. Denne proces kan hjælpe forskere i forskning, såsom at forsøge at finde to lignende DNA-strenge. Det kan også søge i en stor database for at sikre, at brugeren ikke er ved at indtaste duplikatindhold.
Problemer opstår, når der sker en hash-kollision. Dette sker, når mere end en nøgle linker til den samme hashværdi. Mens computerforskere forsøger at undgå dette, kan det ske i en stor database med information. Når forskningen inden for området fortsætter, kan folk oprette nye måder at hjælpe med at sænke muligheden for hashkollisioner og øge nøjagtigheden og anvendeligheden ved at bruge hashfunktioner.