Hash-waarden produceren voor toegang tot gegevens of voor beveiliging. Een hash-waarde (of gewoon hash), ook wel een berichtoverzicht genoemd, is een getal dat wordt gegenereerd op basis van een reeks tekst. De hash is aanzienlijk kleiner dan de tekst zelf, en wordt op zo’n manier gegenereerd door een formule dat het uiterst onwaarschijnlijk is dat een andere tekst dezelfde hash-waarde zal produceren.
Hashes spelen een rol in beveiligingssystemen waar ze worden gebruikt om ervoor te zorgen dat er niet met verzonden berichten is geknoeid. De afzender genereert een hash van het bericht, versleutelt het en stuurt het samen met het bericht zelf. De ontvanger ontsleutelt vervolgens zowel het bericht als de hash, produceert een andere hash uit het ontvangen bericht en vergelijkt de twee hashes. Als ze hetzelfde zijn, is de kans zeer groot dat het bericht intact is verzonden.
Hashing is ook een veelgebruikte methode om toegang te krijgen tot gegevensrecords. Beschouw bijvoorbeeld een lijst met namen:
Als u voor deze records een index, een zogenaamde hashtabel, wilt maken, past u een formule toe op elke naam om een unieke numerieke waarde te produceren. Dus je zou zoiets kunnen krijgen als:
Om vervolgens te zoeken naar het record dat Sarah Jones bevat, hoeft u alleen de formule opnieuw toe te passen, die direct de indexsleutel voor het record oplevert. Dit is veel efficiënter dan door alle records te zoeken totdat het overeenkomende record is gevonden.