Säkerhet och standarder

Vad är Hashning?

Hashning omvandlar data till en fast teckensträng som inte går att räkna baklänges till originalet. Den används för att jämföra och kontrollera värden utan att lagra dem i klartext.

Kallas även: Hashing, Hashvärde

Hashning omvandlar data av valfri längd till en teckensträng med fast längd, kallad ett hashvärde. Samma indata ger alltid samma hashvärde, men det går i praktiken inte att räkna baklänges från hashvärdet till originalet. Det är en envägsfunktion.

Varför en väg utan retur är poängen

Just att det inte går att vända är det som gör hashning användbar. Ett system kan lagra hashvärdet av ett lösenord i stället för lösenordet självt. När någon loggar in hashar systemet det som skrivs in och jämför med det sparade värdet. Stämmer de överens var lösenordet rätt, utan att systemet någonsin har behövt spara lösenordet i klartext.

Skillnaden mot kryptering

Kryptering är avsedd att kunna vändas med rätt nyckel. Hashning är det inte: det finns ingen nyckel som låser upp ett hashvärde till sitt original. Därför används de till olika saker. Kryptering skyddar data man behöver läsa igen senare, hashning kontrollerar och jämför värden man inte behöver kunna läsa ut.

Salt

För värden som kan gissas, som lösenord, lägger man till ett slumpmässigt tillägg innan man hashar, ett så kallat salt. Det gör att två lika lösenord får olika hashvärden och att färdiga uppslagstabeller blir värdelösa. Utan salt är även en stark hashfunktion sårbar för den som har tid att prova sig fram.

Texten senast kontrollerad .

Vi lagrar kontrollvärden, inte känsliga original

Där det räcker att kunna känna igen ett värde utan att spara själva uppgiften använder vi hashning, så att originalet aldrig behöver ligga kvar i klartext. Det hör ihop med hur vi bygger dataminimering in i flödet: samla in så lite som möjligt och behåll det ännu kortare.