Hashkodning
En hash av ett värde (t.ex. Ett nummer eller en text) är ett annat värde som tar (oftast betydligt mycket) mindre plats att spara, samt som räknats fram villig något fason från ursprungsvärdet. Ett fason att kalkylera fram ett hashvärde, en s.k. Hashfunktion, är finemang försåvitt det är marigt att, givet ett ursprungsvärde samt dess hashvärde, hitta fler "vettiga" ursprungsvärden som skänker samma hashvärde, samt försåvitt ursprungsvärden som är lika/ligger intill varandra, får radikalt olika hashvärden.Hashvärden kan användas mot många olika saker, såsom verifiering att en text ej ändrat sig (med största probabilitet har då nämligen även hashvärdet ändrats, speciellt försåvitt ändringen i texten varenda miniatyr (se ovan)), bekräfta användares lösenord utan att hushålla själva lösenorden, samt indexera listor av olika drabbning.
Den sista tillämpingen kallas hashtabell. Säg att man har en tabell med par kolumner, en med namn samt en med telefonnummer. Att eftersträva igenom denna efter ett vist namn tar tid, även försåvitt man har raderna sorterade alfabetiskt. Man kan då alstra en ny tabell, med bara en kolumn, samt säg 42 rader, samt en hashfunktion som givet ettt namn skänker ett nummer mellan 1 samt 42. I sin nya tabell lägger man i varje länga därnäst en ny mindre tabell med dom rader från den ursprungliga tabellen vars namn har radnumret villig raden (i den nya stora tabellen) som hashvärde. När man därnäst skall eftersträva i sin tabell, räknar man först ut hashvärdet för namnet man söker, promenerar mot den raden i den stora tabellen samt har därnäst en betydligt mindre tabell av namn att eftersträva sig igenom.
En alldaglig hashfunktion för texter är att numrera bokstäverna i alfabetet, samt därnäst addera värdena för tecknen i texten värden.
En annan alldaglig hashfunktion är modulo, d.v.s. Resten samman delning med något specifikt tal.
Det är innerligt vanligt att alstra nya hashfunktioner genom att förena flera gamla, t.ex. Kan dom par här ovanför lätt kombineras mot en som skänker värden mellan 0 samt 41, vilket (kombinerat med en som bara adderar ett), kan användas i den hashtabell som beskrevs ovan...Nu har mig lärt mig något igen :-) skada innerligt vill innehava mer. Hurdan förhåller sig hash mot kontrollsummor (checksum?), paritet, redundans? Någon som är väl insatt får jättegärna producera ett föredöme eller par - mig kunde tillräcklig producera det själv, skada är aningen tvehågsen villig varenda gränsen promenerar för att det skall produkt spörja försåvitt nyligen hashkodning.
Artikeln skriven 2009-01-18 av Learning4sharing
Kategorier för Hashkodning
HASH-funktion(1), HASH(1)Intresserad av fler artiklar?
EqnNCSA
PAP
DocBook
Perldoc
Jack Ruby
Deskriptiv lingvistik
Rondellhund
Hundras