Hvad er hashing, og hvorfor bør enhver udvikler bekymre sig om det?
Hvis du nogensinde har undret dig over, hvordan hjemmesider verificerer, at filer ikke er blevet ændret, eller hvordan tjenester kan gemme adgangskoder sikkert uden faktisk at gemme den oprindelige tekst, så er du ved at få svarene.
Det grundlæggende: Hvad er en hash-funktion?
En hash-funktion er en matematisk algoritme, der tager enhver input (en adgangskode, en fil, en tekststreng) og omdanner den til en tegnstreng med fast længde. Det samme input vil altid producere det samme output, men selv en lille ændring i inputtet skaber en helt anden hash.
Hvis du for eksempel hasher ordet "hello" ved hjælp af SHA-256-algoritmen, får du en specifik 64-tegns streng. Ændrer du det til "Hello" (stort H), bliver hashen fuldstændig uigenkendelig. Denne egenskab kaldes lavineeffekten (avalanche effect), og det er det, der gør hashing så kraftfuld.
Hvorfor hashing er vigtigt for udviklere