Vad är en Hash-kalkylator?

En hashkalkylator kan vara flera saker men avser i mycket bred mening ett program eller en funktion som accepterar någon typ av ingång och sedan kör den inmatningen genom en algoritm för att skapa ett utgångsvärde, såsom ett stort antal eller ett block av symboler. Termen används ofta i dataöverföring för att referera till ett program som skapar en typ av nyckel med en algoritm så att alla som tar emot den data som överförs kan använda samma algoritm för att få samma nyckel för att se om informationen kom intakt och omodifierad. Vid datorprogrammering kan termen "hash-kalkylator" användas för att indikera en hash-funktion som förvandlar någon typ av data till en hash-nyckel som sedan bearbetas av en annan algoritm för att skapa ett index till en matris där informationen kan lagras. Även om båda koncepten i kalkylatorn är lika, är resultaten mycket olika och vanligtvis inte utbytbara. En gemensam egenskap hos en hashkalkylator, oavsett användning, är att det genererade hashvärdet alltid kommer att vara identiskt för en given datauppdelning, oavsett var eller när programmet körs.

I sin kärna är en hashkalkylator bara ett program eller en funktion som skapar en hash från vissa data. En hash är bara ett ord för ett värde och kan vara allt från ett nummer till en sträng med hundratals alfanumeriska tecken, beroende på hur det används. Uppgifterna som läggs till i en hashkalkylator för att skapa en hash kan också vara nästan vad som helst. När den används för felkontroll i dataöverföring är källan för ett hashvärde vanligtvis ett komplett dokument eller datafil, till exempel en e-post eller en bildfil. Eftersom hashvärdet används för att bestämma var dataposter lagras i en hashtabell är ingångsvärdet vanligtvis en del av en dataregistrering som är unik, till exempel efternamnet på en person, ett telefonnummer eller ett kontonummer.

När det gäller dataöverföring använder en hashkalkylator vilken som helst av hundratals olika matematiska algoritmer för att skapa det unika hashvärdet för den information som överförs. Detta kan vara så enkelt som att lägga till alla värden för alla byte i en fil, i vilket fall hashvärdet är summan. Det kan också vara mycket mer komplicerat, med att räkna block av bitar eller redundant bearbeta olika antal sekvenser. En av de viktigaste aspekterna av en hashalgoritm är dock att det resulterande hashvärdet alltid måste vara detsamma om samma data används som input. Detta koncept innebär att om en fil överförs med sitt eget beräknade hashvärde, kan mottagaren av data använda en hashkalkylator med samma algoritm för att bestämma om hashvärdena för datan matchar, verifiera att data mottogs intakt och utan fel eller förändringar.

Vid programmering används termen "hashkalkylator" ofta för att beskriva en funktion som omvandlar en bit av datum till ett hashvärde. Till skillnad från dataöverföring används inte antalet som genereras av kalkylatorn i detta fall nödvändigtvis för verifiering utan för att beräkna ett index till en hashtabell där informationen kommer att lagras. Ett mellanliggande hashvärde beräknas för att möjliggöra att ett större antal dataposter förutsägbart kan placeras i en mindre hashtabell, där vissa poster genererar samma värden under vissa omständigheter. Både algoritmen som används för att beräkna ett hashvärde och de data som används som input är ganska godtyckliga för en hashtabell och vanligtvis applikationsspecifika.

ANDRA SPRÅK

Hjälpte den här artikeln dig? Tack för feedbacken Tack för feedbacken

Hur kan vi hjälpa? Hur kan vi hjälpa?