Hash
Hash-generator
Genereer MD5-, SHA-1-, SHA-256- en SHA-512-hashes.
Over hashing
Een hashfunctie neemt elke invoer en produceert daaruit een vingerafdruk van vaste lengte. Dezelfde invoer levert altijd dezelfde hash op, maar een hash kan niet worden teruggedraaid naar de oorspronkelijke data, en zelfs één gewijzigd teken in de invoer verandert de uitvoer volledig.
De hash van een stuk tekst hangt af van de exacte bytes, niet alleen van de tekens — dezelfde string gecodeerd als UTF-8 versus UTF-16 levert twee volledig verschillende hashes op, ook al zou iemand die beide leest identieke tekst zien. Daarom werken bestandshashtools op ruwe bytes in plaats van op "tekst": er valt geen dubbelzinnigheid op te lossen. Wanneer je hier geplakte tekst hasht, wordt die eerst als UTF-8 gecodeerd, wat ook is wat vrijwel elke checksum waarmee je vergelijkt veronderstelt, maar het is de moeite waard te weten dat die aanname bestaat.
Waar je het tegenkomt
- Verifiëren of een gedownload bestand overeenkomt met de gepubliceerde checksum
- Twee bestanden vergelijken op gelijkheid zonder hun volledige inhoud te vergelijken
- Cache-busting-keys of content-addressed identifiers genereren
- Data-integriteit controleren na een overdracht of backup
Veelgestelde vragen
Zijn MD5 of SHA-1 veilig voor wachtwoorden?
Nee. Beide zijn gebroken voor beveiligingsdoeleinden — gebruik in plaats daarvan een speciaal wachtwoord-hashalgoritme zoals bcrypt of Argon2. Dit zijn algemene hashes, geen wachtwoord-hashes.
Welk algoritme moet ik gebruiken?
Voor integriteitscontroles zijn SHA-256 of SHA-512 de huidige standaard. MD5 en SHA-1 zijn nog gangbaar voor legacy checksumverificatie, maar mogen niet voor beveiliging worden vertrouwd.
Worden mijn geüploade bestanden opgeslagen?
Nee. Bestanden worden op de server gehasht voor dat ene verzoek en daarna weggegooid.
Waarom geeft het hashen van dezelfde tekst elders een ander resultaat?
De meest voorkomende oorzaak is tekencodering: identiek ogende tekst produceert een andere bytereeks, en dus een andere hash, afhankelijk van of die als UTF-8, UTF-16 of iets anders is gecodeerd. Ook een spatie aan het eind of een andere conventie voor regeleinden (\n versus \r\n) verandert de bytes onzichtbaar. Deze tool hasht geplakte tekst als UTF-8; als je vergelijkingswaarde uit een andere codering komt, is de mismatch te verwachten, geen bug.