Lösenordshashning: bcrypt, Argon2, PBKDF2
Lär Er varför lagring i klartext är farlig och hur saltad hashning skyddar lösenord.
Lösenordshashning: bcrypt, Argon2, PBKDF2 är en gratis lektion i Cyber Security Academy på CoddyKit. Detta är lektion 2 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Cyber Security Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Cyber Security Academy innehåller totalt 4 lektioner.
Varför ska lösenord inte lagras i klartext?
Att lagra lösenord i klartext är katastrofalt — ett enda databasläckage avslöjar alla konton. Lösenord måste behandlas med en envägsfunktion innan de lagras, så att inte heller åtkomst till databasen avslöjar det ursprungliga lösenordet.
Vad är hashning?
En hashfunktion omvandlar indata av valfri längd till ett resultat med fast längd. Samma indata ger alltid samma resultat, men originalet kan inte återskapas från hashvärdet. Exempel: SHA-256, bcrypt, Argon2.
Varför ska SHA-256 inte användas för lösenord?
Hashfunktioner för allmänna ändamål, som SHA-256, är utformade för att vara snabba. En angripare kan beräkna miljarder SHA-256-hashvärden per sekund på en GPU, vilket gör brute force-knäckning möjlig.
Lösenordshashning kräver långsamma och beräkningskrävande funktioner.
Saltning
Ett salt är ett slumpmässigt värde som läggs till varje lösenord före hashningen. Det säkerställer att två användare med samma lösenord får olika hashvärden och förhindrar attacker med regnbågstabeller och massknäckning. Saltet lagras tillsammans med hashvärdet (det är inte hemligt).
# Conceptual salt example
hash = bcrypt("password" + random_salt)bcrypt
bcrypt utformades 1999 specifikt för lösenordshashning. Det har en konfigurerbar kostnadsfaktor som styr hur långsam hashningen är. När maskinvaran blir bättre ökar ni kostnadsfaktorn för att upprätthålla säkerheten.
Kostnadsfaktor 12 är vanligt i dag — det tar cirka 250 ms att beräkna ett hashvärde på en modern CPU.
PBKDF2
PBKDF2 (Password-Based Key Derivation Function 2) tillämpar en hashfunktion (t.ex. HMAC-SHA256) många gånger (iterationer). Fler iterationer = långsammare = säkrare. Rekommenderas av NIST och används av WPA2 för Wi-Fi-lösenord.
Argon2
Argon2 vann Password Hashing Competition 2015. Det är den moderna standarden. Följande kan konfigureras:
- Tidskostnad — antal iterationer
- Minneskostnad — mängden RAM som krävs (begränsar GPU-acceleration)
- Parallellism — antal trådar
Använd Argon2id för de flesta applikationer.
Regnbågstabeller
En regnbågstabell är en förberäknad uppslagstabell från hashvärde → klartext. Utan saltning kan en angripare som har hashvärdet slå upp det i tabellen direkt. Saltning gör regnbågstabeller oanvändbara eftersom varje hashvärde blir unikt.
Tekniker för lösenordsknäckning
Vanliga metoder för offline-knäckning:
- Ordlistattack — prova vanliga lösenord och variationer
- Brute force — prova alla teckenkombinationer
- Regelbaserad attack — tillämpa ändringsregler på en ordlista (lägg till årtal, gör första bokstaven till versal, leetspeak)
- Verktyg: Hashcat, John the Ripper
Välj rätt algoritm
Prioritetsordning för nya applikationer:
- Argon2id — bäst motståndskraft mot GPU-/ASIC-knäckning
- bcrypt — brett stöd och beprövad historik
- PBKDF2 — NIST-godkänd och krävs i vissa efterlevnadssammanhang
Använd aldrig MD5, SHA-1 eller osaltad SHA-256 för lösenord.
Verifieringsprocess
När en användare loggar in:
- Hämta användarens lagrade hashvärde och salt
- Beräkna hashvärdet för det inskickade lösenordet med samma salt och algoritm
- Jämför det resulterande hashvärdet med det lagrade hashvärdet (jämförelse i konstant tid)
- Dekryptera aldrig — gör endast en jämförelse
Snabbtest: lösenordshashning
Vilken algoritm för lösenordshashning anses vara bästa praxis i dag och vann Password Hashing Competition?
Sammanfattning
Lösenord måste lagras som hashvärden, inte i klartext. Snabba algoritmer som SHA-256 är olämpliga — använd långsamma funktioner för lösenordshashning: Argon2id (förstahandsval), bcrypt eller PBKDF2. Använd alltid ett slumpmässigt salt för varje lösenord för att förhindra rainbow table-attacker. Implementera aldrig egen kryptografi — använd beprövade bibliotek.
Lär dig Cyber Security Academy med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 76
- Lektioner
- 303
Vanliga frågor
Är lektionen ”Lösenordshashning: bcrypt, Argon2, PBKDF2” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Cyber Security Academy, inklusive ”Lösenordshashning: bcrypt, Argon2, PBKDF2”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Cyber Security Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Lösenordshashning: bcrypt, Argon2, PBKDF2”?
Lär Er varför lagring i klartext är farlig och hur saltad hashning skyddar lösenord. Ni övar på Cyber Security Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Cyber Security Academy?
Du behöver inga förkunskaper. Utbildningen i Cyber Security Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”Lösenordshashning: bcrypt, Argon2, PBKDF2”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Cyber Security Academy-lektionen?
Ja. Varje Cyber Security Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Lösenordsstyrka och lösenordspolicyer
- Lösenordshashning: bcrypt, Argon2, PBKDF2
- Multifaktorautentisering
- Credential stuffing och lösenordssprejning