SHA-256 vs SHA-512: vilken hashfunktion ska du välja?
SHA-256 och SHA-512 tillhör båda SHA-2-familjen, utformad av NSA och standardiserad av NIST. De producerar en hash av fast storlek från vilken data som helst och anses idag vara säkra. Skillnaden ligger i hashstorleken, prestandan beroende på arkitektur och några säkerhetsdetaljer. Så här väljer du och varför.
SHA-2-familjen
SHA-2 samlar flera varianter (SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256) som delar samma struktur men skiljer sig i ord- och hashstorlek. Siffran anger hashstorleken i bitar: SHA-256 producerar 256 bitar (64 hexadecimala tecken), SHA-512 producerar 512 (128 tecken).
Du kan beräkna dessa hashar med vår hashgenerator, eller känna igen en algoritm utifrån en hash med hashidentifieraren. Förväxla inte med MD5, föråldrad för säkerhet (se vår jämförelse MD5 vs SHA-256).
SHA-256
SHA-256 arbetar med 32-bitarsord och producerar en hash på 256 bitar. Det är världens mest spridda hashfunktion: TLS-certifikat, Bitcoin-signaturer, integritetskontroll av filer, git. Dess kortare hash gör den praktisk att lagra, visa och överföra.
- Hash: 256 bitar, 64 hexadecimala tecken
- Ord: 32 bitar, optimalt på 32-bitarsplattformar och inbyggda system
- Spridning: störst, universellt stöd
SHA-512
SHA-512 arbetar med 64-bitarsord och producerar en hash på 512 bitar. Kontraintuitivt är den på en modern 64-bitarsprocessor ofta snabbare än SHA-256 för stora volymer, eftersom den behandlar mer data per varv. Dess längre hash ger också en högre säkerhetsmarginal.
- Hash: 512 bitar, 128 hexadecimala tecken
- Ord: 64 bitar, optimalt på 64-bitarsarkitekturer
- Inbyggd motståndskraft: SHA-512 är inte sårbar för längdförlängningsattacken när man använder dess avkortade varianter (SHA-512/256)
Jämförelsetabell
| Kriterium | SHA-256 | SHA-512 |
|---|---|---|
| Hashstorlek | 256 bitar (64 hex) | 512 bitar (128 hex) |
| Ordstorlek | 32 bitar | 64 bitar |
| Hastighet på 64-bit CPU | Bra | Ofta bättre |
| Hastighet på 32-bit / inbyggt | Bättre | Långsammare |
| Säkerhetsmarginal | Mycket hög | Ännu högre |
| Längdförlängning | Sårbar | Sårbar (utom avkortade varianter) |
| Spridning | Universell | Bred |
Prestanda
Prestandan beror på arkitekturen. På en 64-bitarsserver eller bärbar dator kan SHA-512 överträffa SHA-256 med 20 till 50 % på stora filer, eftersom den behandlar större block per iteration. På en 32-bitars mikrokontroller eller en begränsad miljö tar SHA-256 över ledningen.
I praktiken är skillnaden försumbar för små indata (ett lösenord, en identifierare). Den blir mätbar först vid stora volymer eller höga genomflöden.
När du ska välja den ena eller andra
Välj SHA-256 när
- Du siktar på maximal kompatibilitet och ett kompakt format
- Du riktar in dig på inbyggda system, IoT eller 32-bitarsplattformar
- Du verifierar filintegritet eller signerar certifikat
- En kort hash underlättar visning och lagring
Välj SHA-512 när
- Du hashar stora volymer på 64-bitarsservrar
- Du vill ha bredast möjliga säkerhetsmarginal
- Du använder SHA-512/256 för att motstå längdförlängning samtidigt som du behåller 256 bitar
Viktigt: ingen av de två lämpar sig för hashning av lösenord. För det, använd bcrypt eller Argon2, utformade för att vara långsamma och saltade.
Rekommendation
För allmän användning är SHA-256 standardvalet: universellt stött, kompakt, rikligt säkert. Välj SHA-512 om du hashar stora volymer på 64-bitars hårdvara eller vill ha en extra säkerhetsmarginal. Och för att lagra lösenord, vänd dig till en dedikerad funktion som Argon2id, aldrig till enbart SHA-2.
Vanliga frågor
Är SHA-512 säkrare än SHA-256?
SHA-512 erbjuder en högre teoretisk säkerhetsmarginal tack vare sin längre hash, men SHA-256 är redan långt utom räckhåll för dagens attacker. För nästan all användning anses båda vara säkra.
Varför kan SHA-512 vara snabbare än SHA-256?
Därför att den hanterar 64-bitarsord och behandlar större block per varv. På en nativ 64-bitarsprocessor kompenserar det merkostnaden och gör den ofta snabbare på stora volymer. På 32-bit är det tvärtom.
Kan jag hasha lösenord med SHA-256 eller SHA-512?
Nej, det vore ett misstag. Dessa funktioner är snabba och därmed lätta att angripa med brute force. Använd bcrypt eller Argon2id, som är avsiktligt långsamma och innehåller ett salt.
Vad är SHA-512/256?
Det är SHA-512 vars hash är avkortad till 256 bitar, med andra initialiseringsvärden. Man får en hash på 256 bitar, hastigheten hos SHA-512 på 64-bit och en inbyggd motståndskraft mot längdförlängningsattacken.