Hash-generator

Genereer MD5-, SHA-1-, SHA-256-, SHA-384- en SHA-512-hashes van tekst.

100% privé — draait volledig in je browser. Je gegevens worden op je apparaat verwerkt en nooit naar het internet verzonden.
MD5
SHA-1
SHA-256
SHA-384
SHA-512

Over de Hash-generator

Deze gratis hash-generator berekent de MD5-, SHA-1-, SHA-256-, SHA-384- en SHA-512-hashes van willekeurige tekst, allemaal tegelijk en live terwijl u typt.

De hashes worden in uw browser berekend met de Web Crypto API — uw tekst wordt nooit geüpload.

Wat een hash is

Een hashfunctie neemt invoer van willekeurige lengte en maakt daar een vingerafdruk met vaste lengte van. Geef er één teken aan of een heel boek; SHA-256 geeft in beide gevallen 64 hexadecimale tekens terug.

Drie eigenschappen maken hem bruikbaar:

Deterministisch. Dezelfde invoer geeft altijd dezelfde hash. Altijd, op elke machine, voor altijd.

Lawine-effect. Verander één bit van de invoer en ongeveer de helft van de uitvoerbits klapt om. hello en hellp leveren hashes op zonder enige zichtbare gelijkenis. Er bestaat geen "bijna" — een hash komt precies overeen of zegt u niets.

Eenrichtingsverkeer. U kunt niet van een hash terugrekenen naar de invoer. De functie gooit informatie bewust weg, en er is geen inverse.

Die laatste eigenschap is het hele punt, en is de reden waarom een hash geen versleuteling is.

Hashen is geen versleutelen

Versleuteling werkt twee kanten op: met de sleutel krijgt u het origineel terug. Dat is de hele bedoeling.

Hashen is per ontwerp eenrichtingsverkeer. Er is geen sleutel en geen weg terug. Een document van 500 pagina's en één enkele letter worden allebei 64 tekens — het merendeel van de informatie is simpelweg verdwenen.

De vraag die een hash beantwoordt is dus nooit "wat was dit?" maar "is dit hetzelfde als dat?". Vergelijk twee hashes: identiek betekent dat de invoer identiek was; verschillend betekent dat die dat niet was.

Daaruit volgt een veelvoorkomend misverstand. Een MD5-hash "ontsleutelen" bestaat niet. Wat opzoeksites werkelijk doen, is miljarden gangbare invoeren vooraf hashen en controleren of de uwe in de tabel staat. Ze keren de functie niet om; ze herkennen een waarde die ze eerder hebben gezien. Alles wat ongewoon is, staat niet in de tabel.

MD5 en SHA-1 zijn gebroken — wat dat betekent

Beide komen nog overal voor, en beide zijn onveilig voor beveiligingsdoeleinden. Het loont om precies te weten hoe.

Een botsing zijn twee verschillende invoeren die dezelfde hash opleveren. Dat zou onhaalbaar moeten zijn. Voor MD5 is het inmiddels triviaal — botsingen zijn op een gewone computer in seconden te maken. SHA-1 viel in 2017, toen Google twee verschillende pdf's met dezelfde SHA-1-hash demonstreerde, en de aanval is sindsdien alleen maar goedkoper geworden.

Waarom dit uitmaakt: als iemand twee bestanden met overeenkomende hashes kan bouwen, bewijst een hash niet langer dat een bestand het bestand is dat u verwachtte. Een ondertekend document zou verwisseld kunnen worden met een ander document met dezelfde vingerafdruk.

Waar MD5 nog prima is: het opsporen van onbedoelde beschadiging. Wilt u weten of een download onbeschadigd is aangekomen, of of twee bestanden op uw schijf duplicaten zijn, dan werkt MD5 en is hij snel. Willekeurige beschadiging levert geen botsing op.

Waar hij niet volstaat: overal waar iemand u mogelijk wil misleiden — het controleren van de echtheid van een download, ondertekenen, of wachtwoorden opslaan.

Gebruik SHA-256 voor alles wat ertoe doet. Er is geen praktische botsingsaanval bekend, hij is snel en hij is de standaard in moderne systemen. SHA-512 is voor de meeste doeleinden niet noemenswaardig veiliger, al kan hij op 64-bits hardware sneller zijn.

Sla wachtwoorden nooit op met een gewone hash

Dit is het misbruik van hashfuncties met de grootste gevolgen, en het veroorzaakt echte datalekken.

Een wachtwoord hashen met SHA-256 en het resultaat opslaan is niet genoeg. Snelle hashes zijn het probleem: SHA-256 is ontworpen om snel te zijn, en moderne hardware berekent er miljarden per seconde. Een aanvaller die uw database steelt, probeert simpelweg elk waarschijnlijk wachtwoord tot de hashes overeenkomen.

Twee bijkomende problemen maken het erger. Identieke wachtwoorden leveren identieke hashes op, dus een aanvaller ziet meteen welke accounts een wachtwoord delen. En vooraf berekende tabellen zorgen ervoor dat gangbare wachtwoorden zonder enige moeite worden herkend.

De juiste aanpak gebruikt een wachtwoord-hashfunctie die is gebouwd om traag en geheugenhongerig te zijn: bcrypt, scrypt of Argon2. Ze voegen per wachtwoord een unieke willekeurige salt toe, zodat identieke wachtwoorden verschillend hashen, en ze zijn bewust kostbaar — afgesteld zodat één controle een merkbare fractie van een seconde duurt, waardoor miljarden pogingen onpraktisch worden.

Gebruik een deugdelijke bibliotheek. Wachtwoordopslag is niets om zelf uit hash-primitieven in elkaar te zetten.

Waar hashes werkelijk goed voor zijn

  • Downloads controleren — de gepubliceerde controlesom vergelijken met het ontvangen bestand
  • Dubbele bestanden opsporen — identieke hashes betekenen identieke inhoud
  • Wijzigingsdetectie — is dit bestand, deze record of deze configuratie aangepast?
  • Contentadressering — Git noemt elke commit en elk object naar zijn hash
  • Gegevensintegriteit — bevestigen dat een overdracht of back-up onbeschadigd is aangekomen
  • Cachesleutels — een korte, stabiele aanduiding afgeleid van langere inhoud
  • Digitale handtekeningen — het document wordt gehasht, daarna wordt de hash ondertekend

Zo gebruikt u hem

  • Typ of plak uw tekst
  • De hashes werken live bij voor elk algoritme
  • Kopieer elke hash met de bijbehorende kopieerknop

Goed om te weten

  • De uitvoerlengte ligt vast. MD5 geeft 32 hex-tekens, SHA-1 geeft er 40, SHA-256 geeft er 64, SHA-512 geeft er 128 — ongeacht de omvang van de invoer.
  • Alles telt mee. Een spatie aan het eind, een nieuwe regel aan het eind van een bestand, of een ander regeleinde verandert de hash volledig. Dit is de gebruikelijke reden dat een controlesom zou "moeten" kloppen en dat niet doet.
  • Codering doet ertoe. Deze tool hasht uw tekst als UTF-8. Dezelfde tekens hashen in een andere codering geeft een ander resultaat.
  • Hoofdletters zijn conventie, geen betekenis. Hashes worden vaak in hoofdletters of kleine letters getoond; de waarde is dezelfde. Vergelijk hoofdletterongevoelig.
  • Ook lege invoer heeft een hash — een bekende constante voor elk algoritme.
  • Grote bestanden hashen kunt u beter doen met de eigen hulpprogramma's van uw besturingssysteem: certutil -hashfile op Windows, shasum -a 256 op macOS en Linux.

Veelgestelde vragen

Wat is het verschil tussen hashen en versleutelen?

Versleuteling is omkeerbaar — met de juiste sleutel krijgt u de oorspronkelijke gegevens terug, en daar gaat het om. Hashen is per ontwerp eenrichtingsverkeer: het levert een vingerafdruk met vaste lengte op en er is geen weg terug, omdat het merendeel van de informatie bewust wordt weggegooid. Hashen beantwoordt "zijn deze twee dingen identiek?", nooit "wat was dit?".

Kan een hash worden ontsleuteld of omgekeerd?

Nee. Wat opzoeksites bieden is geen omkering maar herkenning: ze hebben miljarden gangbare tekenreeksen vooraf gehasht en controleren of de uwe in de tabel voorkomt. Gangbare wachtwoorden en woordenboekwoorden worden meteen gevonden; alles wat ongewoon is staat niet in de tabel en zal er nooit in staan. De functie zelf kan niet worden geïnverteerd.

Is MD5 nog veilig om te gebruiken?

Alleen voor het opsporen van onbedoelde beschadiging, zoals controleren of een download onbeschadigd is aangekomen of dubbele bestanden vinden. Tegen een opzettelijke aanval is hij volledig gebroken — twee verschillende bestanden met dezelfde MD5 zijn in seconden te maken. Ook SHA-1 is gebroken, in 2017 aangetoond met botsende pdf's. Gebruik SHA-256 voor alles waarbij vertrouwen in het spel is.

Welk hash-algoritme moet ik gebruiken?

SHA-256 voor bijna alles. Hij is snel, breed ondersteund en kent geen praktische botsingsaanval. SHA-512 is een redelijk alternatief en kan op 64-bits systemen sneller zijn, al is hij in de praktijk niet noemenswaardig veiliger. Houd MD5 en SHA-1 voor compatibiliteit met bestaande systemen en voor controles zonder beveiligingsbelang.

Kan ik dit gebruiken om wachtwoorden voor mijn website te hashen?

Liever niet. Snelle hashes zoals SHA-256 zijn het verkeerde gereedschap: hardware kan er miljarden per seconde berekenen, dus een gestolen database is snel met brute kracht te kraken. Gebruik bcrypt, scrypt of Argon2, die per wachtwoord een unieke salt toevoegen en bewust traag zijn. Gebruik altijd een gevestigde bibliotheek in plaats van zelf wachtwoordopslag in elkaar te zetten.

Waarom komt mijn hash niet overeen met die op de website?

Bijna altijd door een onzichtbaar verschil in de invoer. Een spatie aan het eind, een ontbrekende of extra nieuwe regel aan het eind, of Windows-regeleindes in plaats van Unix-regeleindes veranderen de hash volledig — dat is het lawine-effect dat correct werkt. Controleer ook of u hetzelfde algoritme vergelijkt, want een pagina kan er meerdere vermelden.

Wordt mijn tekst naar een server gestuurd?

Nee. De SHA-hashes worden berekend door de ingebouwde Web Crypto-implementatie van uw browser en MD5 wordt in JavaScript berekend, beide volledig op uw eigen apparaat. Er wordt niets verzonden of opgeslagen, en de tool werkt met de verbinding uit.

Gerelateerde tools

Videohandleiding

We voegen regelmatig nieuwe tools toe — abonneer je op YouTube om bericht te krijgen bij elke nieuwe tool.

Meer tools

Alles bekijken

Aanbevolen apps

Alles bekijken