Vaak bij het downloaden van torrents ofdirect de bestanden zelf in de beschrijving is zoiets als "ad33e486d0578a892b8vbd8b19e28754" (bijvoorbeeld in ex.ua), vaak met de opmerking "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 hasj verwarring, marihuana, wiet of een gerecht van fijngehakt vlees en groenten. Het ontsleutelen van de hasj is heel erg moeilijk, men kan 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 ontcijferd?" 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 pakket-hash 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. Zo'n functie heeft een hoge rekensnelheid, maar een klein aantal hashwaarden en een slechte stabiliteit. Een voorbeeld van dit type: CRC32, dat slechts 232 verschillende waarden heeft.
2. Cryptografische functie
Dit type wordt gebruikt ter bescherming tegenonbevoegde 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 van verschillende brongegevens) is erg gecompliceerd. 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 datastructuur te creëren
Het doel is compact en eerlijkEen georganiseerde organisatie van informatie in een speciale structuur die een hashtabel wordt genoemd. Zo'n tabel stelt u in staat om met zeer hoge snelheid nieuwe informatie toe te voegen, informatie te verwijderen en naar de benodigde gegevens te zoeken.