Hash koder er verdifulle verktøy som brukes for å identifisere og organisere data i store datastrukturer . Ved hjelp av en hashing funksjon, kan en programmerer produsere en verdi som identifiserer dataene. På grunn av dette er det i Java programmeringsspråk en mal for gjennomføring av hash funksjoner i objektet modell av språket. Dette betyr at programmerere kan bestemme hash funksjoner for de objektene de skaper , og bruke disse hash -koder for slike ting som kryptografi eller datalagring. Hva er en Hash Code
En hash -koden er vanligvis et produkt av en hash-funksjon . En hash -funksjonen tar en verdi som skal brukes som en nøkkel , som vil definere eller bestemme hva de skal gjøre med den verdien. For eksempel kan en hash-funksjon utføre noen beregning basert på en streng med tegn , og returnerer et heltall representasjon av strengen. Denne hash koden kan brukes til å referere til verdien på noen måte, som verdien returnert fra hash-funksjon med samme strengen vil alltid være den samme.
Hash Koder og Java-funksjoner
i praksis vil en programmerer definere en hash-funksjon for objekter som er opprettet i Java , i tilfelle det trengs . Men letter Java-språket etableringen av en hash-funksjon ved å inkludere en prototype metode , " hashCode ( ) ", som vil returnere hash koden til det aktuelle objektet. Hvordan funksjonen beregner hash kode er på skjønn av programmereren.
Kryptografi
Hash -koder kan brukes til å hjelpe til med å sikre data som overføres fra én bruker til den neste. Ved hjelp av en hash-funksjon , kan en programmerer lage en " digitalt fingeravtrykk " av et dokument , representert ved et heltall fra en hash-funksjon som tar dokumentet som input sin . På denne måten kan mottakeren av ethvert objekt motta fingeravtrykk , og sjekke påliteligheten av objektet ved å sjekke sin hash kode mot fingeravtrykk . Hvis sin hash kode er annerledes, objektet har blitt tuklet med .
Bilder Hash Tables
annen bruk for hash -koder innebærer å sette objekter inn datastrukturer som hash tabeller . Hash tabeller er assosiative matriser eller assosiative datastrukturer, hvor data er plassert inn i data struktur i henhold til sin hash kode verdi. Grunnen til dette er at det ofte er enklere å finne elementer i en liste basert på numerisk verdi , fordi tallverdier eller indekser kan ofte nås direkte , mens å finne elementer i en struktur av verdi kan innebære en lang prosess med å søke.