/ / Hash-funksjon: hva er det, hvorfor er det nødvendig og hva som skjer

Hash-funksjon: hva er det, hvorfor er det nødvendig og hva som skjer

Ofte når du laster ned torrenter ellerselve filene i beskrivelsen er noe sånt som "ad33e486d0578a892b8vbd8b19e28754" (for eksempel i ex.ua), ofte med etterskrift "md5". Denne hash-koden er resultatet som hash-funksjonen produserer etter behandling av innkommende data. Oversatt fra engelsk betyr hasj forvirring, marihuana, ugress eller en tallerken med finhakket kjøtt og grønnsaker. Å tyde hasjen er veldig, veldig vanskelig, vi kan si at det er nesten umulig. Da oppstår spørsmålet: "Hvorfor er det i det hele tatt behov for alle disse hashfunksjonene, hvis de gir ut uforståelig gibberish, som fremdeles ikke kan dechifreres?" Dette er hva som vil bli diskutert i denne artikkelen.

Hva er en hash-funksjon og hvordan fungerer den?

hash-funksjon
Denne funksjonen er designet for å konverterelegge inn data av vilkårlig stor størrelse til et resultat med fast lengde. Selve prosessen med en slik transformasjon kalles hashing, og resultatet kalles hash- eller hash-kode. Noen ganger brukes fortsatt ordene "fingeravtrykk" eller "meldingsfordøyelse", men i praksis er de mye mindre vanlige. Det er mange forskjellige algoritmer for hvordan du kan gjøre en hvilken som helst dataark til en bestemt sekvens av tegn med en viss lengde. Den mest utbredte er en algoritme kalt md5, som ble utviklet i 1991. Til tross for at md5 i dag er noe utdatert og ikke anbefales for bruk, er den fortsatt i bruk og ofte i stedet for ordet "hash code", skriver nettsteder ganske enkelt md5 og angir selve koden.

Hvorfor er det nødvendig med en hash-funksjon?

dekryptere hash
Å vite resultatet, er det nesten umulig å fastslåoriginale data, men de samme inngangsdataene gir samme sum. Derfor brukes ofte hashfunksjonen (også kalt foldfunksjonen) til å lagre veldig viktig informasjon, for eksempel et passord, pålogging, identitetsnummer og annen personlig informasjon. I stedet for å sammenligne informasjonen som er oppgitt av brukeren med de som er lagret i databasen, blir deres hashes sammenlignet. Dette sikrer at i tilfelle utilsiktet informasjonslekkasje, vil ingen kunne bruke viktige data til egne formål. Ved å sammenligne hash-koden er det også praktisk å sjekke riktigheten av nedlasting av filer fra Internett, spesielt hvis det var avbrudd under nedlastingen.

Hash-funksjoner: hva de ert

hash-funksjon
Hashfunksjonen kan være av en av tre typer, avhengig av formålet:

1. Funksjon for å kontrollere integriteten til informasjonen

Når data overføres over nettverket,pakkenes hash beregnes, og dette resultatet overføres også sammen med filen. Ved mottak beregnes hash-koden igjen og sammenlignes med verdien som mottas over nettverket. Hvis koden ikke stemmer overens, indikerer dette feil, og den ødelagte pakken vil bli overført igjen. Denne funksjonen har rask beregningshastighet, men et lite antall hashverdier og dårlig stabilitet. Et eksempel på denne typen: CRC32, som bare har 232 forskjellige verdier.

2. Kryptografisk funksjon

Denne typen brukes til å beskytte motuautorisert tilgang (ND). De lar deg sjekke om datakorrupsjon har oppstått som et resultat av ND under filoverføring over nettverket. Den sanne hash i dette tilfellet er offentlig tilgjengelig, og hashen til den resulterende filen kan beregnes ved hjelp av mange forskjellige programmer. Slike funksjoner har lang og stabil levetid, og søket etter kollisjoner (mulige tilfeldigheter av resultatet fra forskjellige inngangsdata) er veldig vanskelig. Det er disse funksjonene som brukes til å lagre passord (SH1, SH2, MD5) og annen verdifull informasjon i databasen.

3. En funksjon designet for å skape en effektiv datastruktur

Hensikten er å være kompakt og rettferdigen ordnet organisering av informasjon i en spesiell struktur kalt hash-tabell. Denne tabellen lar deg legge til ny informasjon, slette informasjon og søke etter dataene du ønsker med veldig høy hastighet.