Hashfunctie

Uit Wikipedia, de vrije encyclopedie

Een hashfunctie of hashalgoritme is in de informatica een algoritme dat invoer uit een breed domein van waarden omzet in een meestal kleiner bereik, meestal een deelverzameling van de gehele getallen. De uitvoer van een hashalgoritme wordt de hash, hashcode of digest van de invoer genoemd. Hashfuncties zijn een vorm van pseudonimiseren, dus van encryptie. Het woord hash komt uit het Engels en betekent hier hakken.

Pedagogical_illustration_of_the_principle_of_hashing_functions.png
De hashfunctie heeft van de twee schilderijen van Leonardo da Vinci een hashcode gemaakt, waarvoor een veel kleiner bestand nodig is dan voor de twee schilderijen zelf. De beide schilderijen kunnen desondanks toch nog van elkaar worden onderscheiden.

Hashfuncties worden gebruikt in hashtabellen, cryptografie en gegevensverwerking. Bij een domein dat groter is dan het bereik is de functie uiteraard niet injectief, maar een goede hashfunctie is er een die in de praktijk weinig collisions veroorzaakt, dit wil zeggen dat er weinig tweetallen verschillende invoerwaarden bestaan die dezelfde uitvoer geven. Afhankelijk van de toepassing van de hashfunctie moet deze ook zo zijn dat zo'n tweetal zelfs zeer moeilijk te vinden is als men er naar zou zoeken.