SHA-256 vs SHA-512: welke hashfunctie kiezen?

SHA-256 en SHA-512 behoren beide tot de SHA-2-familie, ontworpen door de NSA en gestandaardiseerd door het NIST. Ze produceren een hash van vaste grootte uit willekeurige gegevens en worden vandaag als veilig beschouwd. Het verschil zit in de grootte van de hash, de prestaties afhankelijk van de architectuur en enkele beveiligingsdetails. Zo kies je welke en waarom.

De SHA-2-familie

SHA-2 verenigt meerdere varianten (SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256) die dezelfde structuur delen maar verschillen in de grootte van de woorden en de hash. Het cijfer geeft de grootte van de hash in bits aan: SHA-256 produceert 256 bits (64 hexadecimale tekens), SHA-512 produceert er 512 (128 tekens).

Je kunt deze hashes berekenen met onze hashgenerator, of een algoritme herkennen aan een hash met de hash-identificator. Niet te verwarren met MD5, verouderd voor beveiliging (zie onze vergelijking MD5 vs SHA-256).

SHA-256

SHA-256 werkt met woorden van 32 bits en produceert een hash van 256 bits. Het is de meest verspreide hashfunctie ter wereld: TLS-certificaten, Bitcoin-handtekeningen, integriteitscontrole van bestanden, git. De kortere hash maakt hem praktisch om op te slaan, weer te geven en te verzenden.

  • Hash: 256 bits, 64 hexadecimale tekens
  • Woorden: 32 bits, optimaal op 32-bit platforms en embedded systemen
  • Adoptie: de breedste, universele ondersteuning

SHA-512

SHA-512 werkt met woorden van 64 bits en produceert een hash van 512 bits. Contra-intuïtief is hij op een moderne 64-bit processor vaak sneller dan SHA-256 voor grote volumes, omdat hij meer gegevens per ronde verwerkt. De langere hash biedt ook een hogere veiligheidsmarge.

  • Hash: 512 bits, 128 hexadecimale tekens
  • Woorden: 64 bits, optimaal op 64-bit architecturen
  • Native weerstand: SHA-512 is niet kwetsbaar voor de length extension attack wanneer je de afgekapte varianten gebruikt (SHA-512/256)

Vergelijkingstabel

Criterium SHA-256 SHA-512
Hashgrootte256 bits (64 hex)512 bits (128 hex)
Woordgrootte32 bits64 bits
Snelheid op 64-bit CPUGoedVaak hoger
Snelheid op 32-bit / embeddedHogerTrager
VeiligheidsmargeZeer hoogNog hoger
Length extensionKwetsbaarKwetsbaar (behalve afgekapte varianten)
AdoptieUniverseelBreed

Prestaties

De prestaties hangen af van de architectuur. Op een 64-bit server of laptop kan SHA-512 SHA-256 met 20 tot 50% overtreffen op grote bestanden, omdat hij grotere blokken per iteratie verwerkt. Op een 32-bit microcontroller of een beperkte omgeving neemt SHA-256 het voordeel weer over.

In de praktijk is voor kleine invoer (een wachtwoord, een identificator) het verschil verwaarloosbaar. Het wordt pas meetbaar bij grote volumes of hoge doorvoersnelheden.

Wanneer de een of de ander kiezen

Kies SHA-256 wanneer

  • Je maximale compatibiliteit en een compact formaat nastreeft
  • Je embedded systemen, IoT of 32-bit platforms beoogt
  • Je de integriteit van bestanden controleert of certificaten ondertekent
  • Een korte hash de weergave en opslag vergemakkelijkt

Kies SHA-512 wanneer

  • Je grote volumes hasht op 64-bit servers
  • Je de breedst mogelijke veiligheidsmarge wilt
  • Je SHA-512/256 gebruikt om length extension te weerstaan terwijl je 256 bits behoudt

Belangrijk: geen van beide is geschikt voor het hashen van wachtwoorden. Gebruik daarvoor bcrypt of Argon2, ontworpen om traag en gezouten te zijn.

Aanbeveling

Voor algemeen gebruik is SHA-256 de standaardkeuze: universeel ondersteund, compact, ruimschoots veilig. Kies SHA-512 als je grote volumes hasht op 64-bit hardware of als je een extra veiligheidsmarge wilt. En om wachtwoorden op te slaan, wend je je tot een speciale functie zoals Argon2id, nooit tot SHA-2 alleen.

Veelgestelde vragen

Is SHA-512 veiliger dan SHA-256?

SHA-512 biedt een hogere theoretische veiligheidsmarge dankzij zijn langere hash, maar SHA-256 ligt al ruim buiten het bereik van de huidige aanvallen. Voor vrijwel alle toepassingen worden beide als veilig beschouwd.

Waarom kan SHA-512 sneller zijn dan SHA-256?

Omdat hij woorden van 64 bits verwerkt en grotere blokken per ronde behandelt. Op een native 64-bit processor compenseert dit de extra kosten en maakt hem vaak sneller op grote volumes. Op 32 bit is het omgekeerd.

Kan ik wachtwoorden hashen met SHA-256 of SHA-512?

Nee, dat zou een fout zijn. Deze functies zijn snel en dus gemakkelijk met brute force aan te vallen. Gebruik bcrypt of Argon2id, die bewust traag zijn en een zout bevatten.

Wat is SHA-512/256?

Het is SHA-512 waarvan de hash tot 256 bits is afgekapt, met andere initialisatiewaarden. Je krijgt een hash van 256 bits, de snelheid van SHA-512 op 64 bit en een native weerstand tegen de length extension attack.