Mikä on Hash -laskin?

Hajautuslaskin voi olla useita asioita, mutta viittaa erittäin laajassa merkityksessä ohjelmaan tai funktioon, joka hyväksyy tietyn tyyppisen syötteen ja suorittaa sitten sen syötteen algoritmin avulla, jotta saadaan tulosarvo, kuten suuri luku tai lohko symbolit. Termiä käytetään usein tiedonsiirrossa viittaamaan ohjelmaan, joka luo avaintyypin algoritmilla, joten kaikki lähetetyn tiedon vastaanottajat voivat käyttää samaa algoritmia saadakseen saman avaimen nähdäkseen, onko tiedot saapuneet ehjinä ja muuttamattomina. Tietokoneohjelmoinnissa termiä “tiivistelaskin” voidaan käyttää ilmaisemaan tiivistefunktiota, joka muuntaa tietyn tyyppiset tiedot hajautusavaimeksi, jota sitten toinen algoritmi käsittelee indeksin luomiseksi taulukkoksi, johon tiedot voidaan tallentaa. Vaikka molemmat laskimen käsitteet ovat samankaltaisia, tulokset ovat hyvin erilaisia ​​eivätkä yleensä ole keskenään vaihdettavissa. Yksi tiivistelaskurin yhteinen ominaisuus sen käytöstä riippumatta on, että luotu tiivistearvo on aina sama tietylle datalle riippumatta siitä, missä tai milloin ohjelma suoritetaan.

Ytimessä tiivistelaskin on vain ohjelma tai toiminto, joka luo hajautuksen joistakin tiedoista. Hajautus on vain sana arvoa varten, ja se voi olla mitä tahansa numerosta satojen aakkosnumeeristen merkkien merkkijonoon riippuen siitä, miten sitä käytetään. Tiedot, jotka lisätään hajautuslaskimeen tiivisteen luomiseksi, voivat myös olla melkein mitä tahansa. Kun tiivistearvon lähdettä käytetään tiedonsiirron virheiden tarkistamiseen, se on yleensä täydellinen asiakirja tai datatiedosto, kuten sähköposti tai kuvatiedosto. Ohjelmoinnissa, koska tiivistearvoa käytetään määrittämään, missä datatietueet on tallennettu hajautustaulukkoon, syöttöarvo on yleensä jokin osa tietuetta, joka on ainutlaatuinen, kuten henkilön sukunimi, puhelinnumero tai tilinumero.

Tiedonsiirron tapauksessa tiivistelaskin käyttää mitä tahansa sadoista erilaisista matemaattisista algoritmeista luodakseen lähetettävälle tiedolle ainutlaatuisen tiivistearvon. Tämä voi olla jotain niin yksinkertaista kuin kaikkien tiedostojen kaikkien tavujen kaikkien arvojen lisääminen, jolloin tiivistearvo on summa. Se voi myös olla paljon monimutkaisempi, mukaan lukien bittilohkojen laskeminen tai eri numerosarjojen redundantti käsittely. Yksi minkä tahansa tiivistealgoritmin tärkeimmistä näkökohdista on kuitenkin se, että tuloksena olevan tiivistearvon on aina oltava sama, jos samaa tietoa käytetään syöttönä. Tämä käsite tarkoittaa, että jos tiedosto lähetetään omalla lasketulla hajautusarvollaan, tietojen vastaanottaja voi käyttää samaa algoritmia sisältävää hajautuslaskinta määrittääkseen, vastaavatko datan hajautusarvot, varmistaakseen, että tiedot vastaanotettiin ehjinä ja ilman virheitä tai muutoksia.

Ohjelmoinnissa termiä “tiivistelaskin” käytetään usein kuvaamaan toimintoa, joka muuntaa datumin palan hajautusarvoksi. Toisin kuin tiedonsiirto, tässä tapauksessa laskimen luomaa numeroa ei välttämättä käytetä todentamiseen, vaan indeksin laskemiseen hajautustaulukkoon, johon tiedot tallennetaan. Välittäjän tiivistearvo lasketaan siten, että suurempi määrä tietueita voidaan sijoittaa ennakoitavasti pienempään hajautustaulukkoon, ja jotkin tietueet tuottavat samat arvot tietyissä olosuhteissa. Sekä tiivistearvon laskemiseen käytetty algoritmi että syötteenä käytetyt tiedot ovat melko mielivaltaisia ​​hajautustaulukolle ja yleensä sovelluskohtaisia.