/ / Hash-functie: wat het is, waarom het nodig is en wat er gebeurt

Hash-functie: wat is het, waarom is het nodig en wat gebeurt er?

Vaak bij het downloaden van torrents ofdirect zijn de bestanden zelf in de beschrijving zoiets als "ad33e486d0578a892b8vbd8b19e28754" (bijvoorbeeld in ex.ua), vaak met het postscript "md5". Deze hash-code is het resultaat dat de hash-functie produceert na het verwerken van de binnenkomende gegevens. Vertaald uit het Engels, betekent een hash verwarring, marihuana, wiet of een gerecht van fijngehakt vlees en groenten. Het decoderen van de hash is heel, heel moeilijk, je kunt zeggen dat het bijna onmogelijk is. Dan rijst de vraag: "Waarom hebben we al deze hashfuncties in het algemeen nodig als ze een onbegrijpelijk gebrabbel produceren dat nog steeds niet kan worden ontsleuteld?" Dit wordt in dit artikel besproken.

Wat is een hashfunctie en hoe werkt het?

hash-functie
Deze functie is ontworpen om te converterenvoer gegevens van willekeurig grote grootte in een resultaat van een vaste lengte in. Het proces van een dergelijke conversie wordt hashing genoemd en het resultaat is een hash- of hash-code. Soms gebruiken ze de woorden "vingerafdruk" of "berichtenoverzicht", maar in de praktijk komen ze veel minder vaak voor. Er zijn veel verschillende algoritmen over hoe u een gegevensreeks kunt veranderen in een bepaalde reeks tekens van een bepaalde lengte. Het meest gebruikte algoritme genaamd md5, dat in 1991 werd ontwikkeld. Ondanks het feit dat md5 vandaag enigszins verouderd is en niet wordt aanbevolen voor gebruik, wordt het nog steeds gebruikt en vaak in plaats van het woord "hash-code", schrijven ze eenvoudig md5 op de sites en geven de code zelf aan.

Waarom hebben we een hashfunctie nodig?

hash decoderen
Het resultaat kennende, is het bijna onmogelijk om te bepalenbrongegevens, maar dezelfde invoergegevens geven hetzelfde resultaat. Daarom wordt de hash-functie (ook wel de convolution-functie genoemd) vaak gebruikt om zeer belangrijke informatie op te slaan, zoals wachtwoord, login, identificatienummer en andere persoonlijke informatie. In plaats van de door de gebruiker ingevoerde informatie te vergelijken met die in de database, worden hun hashes vergeleken. Dit zorgt ervoor dat in geval van onbedoelde informatielekkage niemand belangrijke gegevens voor eigen doeleinden kan gebruiken. Door de hash-code te vergelijken, is het ook handig om de juistheid van het downloaden van bestanden van internet te controleren, vooral als er tijdens de download communicatieonderbrekingen waren.

Hash-functies: wat ze zijnt

hash-functie
Afhankelijk van het doel kan de hash-functie een van de drie typen zijn:

1. Functie voor het controleren van de integriteit van informatie

Wanneer gegevens via het netwerk worden verzonden,de pakkethash wordt berekend en dit resultaat wordt ook samen met het bestand verzonden. Na ontvangst wordt de hash-code opnieuw berekend en vergeleken met de waarde die via het netwerk is ontvangen. Als de code niet overeenkomt, geeft dit fouten aan en wordt het beschadigde pakket opnieuw verzonden. Een dergelijke functie heeft een hoge berekeningssnelheid, maar een klein aantal hash-waarden en slechte stabiliteit. Een voorbeeld van dit type: CRC32, die slechts 232 verschillende waarden heeft.

2. Cryptografische functie

Dit type wordt gebruikt om tegen te beschermenongeautoriseerde toegang (ND). Hiermee kunt u controleren of gegevensvervorming als gevolg van ND is opgetreden tijdens bestandsoverdracht via het netwerk. De echte hash is in dit geval openbaar beschikbaar en de hash van het resulterende bestand kan met veel verschillende programma's worden berekend. Dergelijke functies hebben een lange en stabiele levensduur en het zoeken naar botsingen (mogelijke overeenkomsten van het resultaat uit verschillende brongegevens) is erg ingewikkeld. Het zijn deze functies die worden gebruikt om wachtwoorden (SH1, SH2, MD5) en andere waardevolle informatie in de database op te slaan.

3. Functie ontworpen om een ​​effectieve gegevensstructuur te creëren

Het doel is compact en redelijkEen georganiseerde organisatie van informatie in een speciale structuur die een hashtabel wordt genoemd. Met deze tabel kunt u met zeer hoge snelheid nieuwe informatie toevoegen, informatie verwijderen en zoeken naar de gegevens die u nodig hebt.