Naar de inhoud
MaxyTools

MD5-, SHA-256- en bcrypt-hashes: een bestand controleren, een wachtwoord opslaan

Bijgewerkt op · 4 min leestijd

· Bijgewerkt op

Je downloadt een programma en de site toont naast de link een lange reeks letters en cijfers: dat is een vingerafdruk (hash) waarmee je kunt controleren dat het bestand niet is beschadigd of gewijzigd. Dezelfde mechanismen worden in een andere context gebruikt om wachtwoorden op te slaan. Beide toepassingen vragen om verschillende algoritmen en ze door elkaar halen is een veelgemaakte beveiligingsfout.

Wat een vingerafdruk is

Een hashfunctie zet willekeurige gegevens (een woord, een bestand van 4 GB) om in een tekenreeks van vaste lengte. Ze is deterministisch (dezelfde invoer geeft altijd dezelfde vingerafdruk) en gevoelig: één bit wijzigen verandert het resultaat volledig. De SHA-256 van de tekst “abc” begint bijvoorbeeld met ba7816bf…, terwijl die van “abd” begint met a52d159f…, zonder enige gelijkenis. De bewerking is onomkeerbaar: uit de vingerafdruk kun je de tekst niet terugvinden.

Lengte van gangbare vingerafdrukken
AlgoritmeGrootteHexadecimale tekensStatus
MD5128 bits32Gebroken voor beveiliging (botsingen kunnen worden gefabriceerd); voldoende om toevallige beschadiging te ontdekken.
SHA-1160 bits40Verouderd voor beveiliging.
SHA-256256 bits64Huidige referentie voor integriteit.
SHA-512512 bits128Langere vingerafdruk.

Een gedownload bestand controleren, stap voor stap

  1. Zoek de gepubliceerde vingerafdruk op de officiële site (vaak “SHA256” of “checksum”), bij voorkeur op een HTTPS-pagina die verschilt van de downloadlink.
  2. Open SHA-256-hash genereren (of MD5-hash genereren als alleen MD5 wordt gepubliceerd) en sleep het bestand erin. Het wordt in blokken van 4 MB gelezen met een voortgangsbalk: ook een groot bestand (tot 4 GB) put het geheugen niet uit. Je kunt er meerdere neerzetten.
  3. Plak de verwachte vingerafdruk bij “Vergelijken”: hex (hoofd- of kleine letters, met of zonder “:”), base64 of een uitvoerregel van sha256sum worden geaccepteerd.
  4. Als de tool een overeenkomst toont, is het bestand identiek aan dat van de uitgever. Zo niet, open het dan niet: download het opnieuw.

Een belangrijk punt: een vingerafdruk verifieert dat je hetzelfde bestand hebt ontvangen als het beschreven bestand, niet dat het bestand onschadelijk is. Als een aanvaller zowel het bestand als de vingerafdruk op dezelfde pagina beheert, bewijst de controle niets.

Tekst hashen: de details die alles veranderen

Tekst wordt gehasht als UTF-8, precies zoals getypt. Een regeleinde aan het eind verandert de vingerafdruk: de SHA-256 van “abc” en die van “abc” gevolgd door een nieuwe regel zijn totaal verschillend (edeaaff3… tegenover ba7816bf…). Dit is de meest voorkomende oorzaak van “mijn hash komt niet overeen”: controleer op onzichtbare spaties en regeleinden. Vink HMAC aan om een authenticatiecode met een geheime sleutel te maken: alleen wie de sleutel kent, kan dezelfde vingerafdruk reproduceren.

Wachtwoorden: waarom geen SHA-256, maar bcrypt

  • De salt is willekeurig en zit in het resultaat ingebed: hetzelfde wachtwoord geeft elke keer een andere hash en de verificatie werkt gewoon.
  • bcrypt leest alleen de eerste 72 bytes van het wachtwoord (in UTF-8 telt een letter met accent als 2, een emoji als 4): de tool waarschuwt je als de limiet wordt overschreden.
  • De berekening loopt zonder het scherm te laten vastlopen, met een echte voortgangsbalk; het wachtwoord wordt niet verzonden of opgeslagen.

Lees Sterke wachtwoorden: entropie, wachtzinnen en datalekken om een sterk wachtwoord te kiezen.

Veelgemaakte fouten

  • MD5 of SHA-1 gebruiken voor handtekeningen of wachtwoorden.
  • Wachtwoorden opslaan met een gewone SHA-256, zelfs met salt.
  • Vingerafdrukken op het oog vergelijken: één letter verschilt en je ziet het niet. Gebruik de vergelijking van de tool.
  • Verschillen in hoofdletters of regeleinden negeren bij het hashen van tekst.
  • Geloven dat een identieke vingerafdruk garandeert dat het bestand onschadelijk is.

Eerlijke beperkingen

  • Een hash versleutelt niets: hij is niet omkeerbaar, maar korte wachtwoorden kunnen worden gevonden door te raden.
  • MD5- en SHA-1-vingerafdrukken mogen niet meer voor beveiliging worden gebruikt.
  • bcrypt is een solide keuze maar vervangt geen volledig beleid (beperking van pogingen, tweestapsverificatie).

Veelgestelde vragen

Wordt mijn bestand geüpload om de vingerafdruk te berekenen?

Nee. De berekening gebeurt in je browser; het bestand wordt op je apparaat in blokken van 4 MB gelezen.

Waarom hebben twee bijna identieke teksten ongerelateerde vingerafdrukken?

Dat is de bedoeling: één bit wijzigen verandert het resultaat volledig. Dit heet het lawine-effect.

Is MD5 nog bruikbaar?

Om toevallige beschadiging te ontdekken wel. Voor elk beveiligingsdoel (handtekening, wachtwoord) niet: gebruik SHA-256 of, voor wachtwoorden, bcrypt.

Welke bcrypt-kostenfactor moet ik kiezen?

10 tot 12 voor een website. Kies de hoogste waarde die je servers aankunnen zonder het inloggen van gebruikers te vertragen.

Kan een tekst uit zijn vingerafdruk worden teruggehaald?

Niet rechtstreeks. Maar een kort of gangbaar wachtwoord kan worden gevonden door te raden, vandaar de waarde van een traag algoritme zoals bcrypt.

In deze gids genoemde tools

Meer gidsen

Deze gidsen worden geschreven door het MaxyTools-team, op basis van hoe onze tools echt werken. De cijfers zijn berekeningen die je zelf kunt nadoen of ordes van grootte die als zodanig zijn aangegeven. Een fout gezien? Schrijf ons via de pagina Contact.