En hash er en streng med fast længde (digest) genereret fra inputdata af enhver størrelse ved hjælp af en hashfunktion. Processen er envejs – du kan ikke dekryptere eller vende en hash for at få de originale data. Derfor er "hash-kryptering" en misvisende betegnelse; Hashing er ikke kryptering.
Populære hash-algoritmer inkluderer:
MD5 (forældet til sikkerhedsbrug)
SHA-1 (udfaset)
SHA-256, SHA-512 (del af SHA-2-familien)
SHA-3
bcrypt, scrypt, Argon2 (til sikker adgangskode-hashing)
Hashing tjener flere formål i cybersikkerhed og dataintegritet. Vigtigste grunde til at bruge hashing inkluderer:
Dataintegritet: Sikrer, at data ikke er blevet ændret (f.eks. filkontrolsummer).
Adgangskodeopbevaring: Gemmer adgangskoder sikkert ved at sammenligne hashes i stedet for at gemme faktiske adgangskoder.
Digitale signaturer: Hashes signeres i stedet for store dokumenter.
Effektivitet: Små hashværdier med fast størrelse er hurtigere at sammenligne end store datablokke.
Fordi hashes er deterministiske og hurtige, er de ideelle til verifikationsopgaver.
Brug af en hashfunktion involverer:
Indtastning af data (f.eks. en fil, streng eller adgangskode).
Behandling af dataene med en hashing-algoritme.
Indhentning af et digest, som er en streng med fast størrelse, der entydigt repræsenterer inputtet.
Til adgangskodebeskyttelse:
Kombiner adgangskoden med et salt (tilfældige data).
Anvend en sikker hashfunktion (f.eks. bcrypt eller Argon2).
Opbevar den resulterende hash og salt sikkert.
Da hashes ikke kan Omvendt verificerer du input (som en adgangskode) ved at hashe den igen og sammenligne den nye hash med den gemte.
Hashing bør bruges, når:
Dataintegriteten skal verificeres (f.eks. kontrol for korruption eller manipulation).
Adgangskoder skal opbevares sikkert (ikke krypterede eller i almindelig tekst).
Digitale signaturer og certifikater er involveret (hashing sikrer dokumentægthed).
Hurtig datasammenligning er nødvendig (f.eks. i hashtabeller eller cacher).
Hashing er ikke egnet, når du skal gendanne originale data senere – det er det, kryptering er til for.