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?
Waarom hebben we een hashfunctie nodig?
Hash-functies: wat ze zijnt
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.