Hvad er en hash -lommeregner?
En hash -lommeregner kan være flere ting, men henviser i meget bred forstand til et program eller funktion, der accepterer en eller anden form for input og derefter kører denne input gennem en algoritme for at skabe en outputværdi, såsom et stort antal eller en blok af symboler. Udtrykket bruges ofte i datatransmission til at henvise til et program, der skaber en type nøgle med en algoritme, så enhver, der modtager de transmitterede data, kan bruge den samme algoritme til at få den samme nøgle for at se, om dataene ankom intakte og umodificerede. I computerprogrammering kan udtrykket "hash -lommeregner" bruges til at indikere en hash -funktion, der forvandler en eller anden type data til en hash -nøgle, der derefter behandles af en anden algoritme til at skabe et indeks til en matrix, hvor informationen kan gemmes. Selvom begge koncepter i lommeregneren er ens, er resultaterne meget forskellige og er normalt ikke udskiftelige. En fælles egenskab ved en hash -lommeregner, uanset dens anvendelse, er, at den genererede hashværdi altid vil være Identical for et givet stykke data, uanset hvor eller hvornår programmet køres.
I sin kerne er en hash -lommeregner bare et program eller funktion, der skaber en hash fra nogle data. En hash er bare et ord for en værdi og kan være alt fra et tal til en streng med hundreder af alfanumeriske tegn, afhængigt af hvordan det bruges. De data, der føjes til en hash -lommeregner for at oprette en hash, kan også være næsten alt. Når det bruges til fejlkontrol af dataoverførsel, er kilden til en hashværdi normalt et komplet dokument- eller datafil, f.eks. En e -mail eller en billedfil. Ved programmering, fordi hashværdien bruges til at bestemme, hvor dataregistreringer gemmes i en hash -tabel, er inputværdien normalt en del af en dataregistrering, der er unik, såsom efternavnet på en person, et telefonnummer eller et kontonummer.
I tilfælde af dataoverførsel bruger en hash -lommeregner enhver OF hundreder af forskellige matematiske algoritmer for at skabe den unikke hashværdi for de oplysninger, der overføres. Dette kan være noget så simpelt som at tilføje alle værdierne for alle byte i en fil, i hvilket tilfælde hashværdien er summen. Det kan også være meget mere komplekst, der involverer tællingsblokke af bits eller overflødigt behandling af forskellige sekvenser af tal. Et af de vigtigste aspekter af enhver hash -algoritme er imidlertid, at den resulterende hashværdi altid skal være den samme, hvis de samme data bruges som input. Dette koncept betyder, at hvis en fil transmitteres med sin egen beregnede hashværdi, kan modtageren af dataene bruge en hash -lommeregner med den samme algoritme til at afgøre, om hashværdierne for datamatchet, der bekræfter, at dataene blev modtaget intakte og uden fejl eller ændringer.
Ved programmering bruges udtrykket "hash -lommeregner" ofte til at beskrive en funktion, der konverterer et stykke nulpunkt til en hashværdi. I modsætning til datatransmission, NumbeR genereret af lommeregneren i dette tilfælde bruges ikke nødvendigvis til verifikation, men til at beregne et indeks i en hash -tabel, hvor informationen vil blive gemt. En formidlers hashværdi beregnes for at muliggøre, at et større antal dataregistreringer forudsiges forudsigeligt i et mindre hash -tabel, hvor nogle poster genererer de samme værdier under visse omstændigheder. Både algoritmen, der bruges til at beregne en hashværdi, og de data, der bruges som input, er temmelig vilkårlige til en hash-tabel og normalt applikationsspecifik.