Wat een hash is
Wat deze generator doet
U voert een tekst in, en de generator berekent de hash ervan met vijf functies tegelijk: MD5, SHA-1, SHA-256, SHA-512 en SHA3-256. De functie die u in de lijst kiest, staat als grote regel in beeld, de rest in de tabel eronder. De tabel laat ook zien hoeveel bytes de tekst inneemt.
Een hash is een vingerafdruk van de tekst
Een hashfunctie zet een tekst van willekeurige lengte om in een reeks met een vaste lengte. Dezelfde tekst geeft altijd dezelfde hash. Verander één letter en de hash verandert volledig. De functie werkt niet achteruit, van hash naar tekst: u kunt alleen kandidaten uitproberen.
Lengte van elke hash
MD5 – 32 hextekens (128 bits). SHA-1 – 40 (160 bits). SHA-256 en SHA3-256 – elk 64 (256 bits). SHA-512 – 128 tekens (512 bits). De cijfers en de letters a–f zijn de hexadecimale weergave van de bytes, twee tekens per byte.
Waarom elke spatie telt
De generator hasht precies wat in het veld staat. Een spatie aan het eind, een regeleinde of een hoofdletter in plaats van een kleine letter geeft een totaal andere hash. Staat er een spatie of regeleinde aan het begin of einde van de tekst, dan meldt de generator dat onder het resultaat, maar hij verwijdert het niet.
UTF-8
De tekst wordt in UTF-8 omgezet naar bytes – zo slaan bijna alle programma’s en sites tekst op. Een gewone Latijnse letter is 1 byte, een letter met accent of een Cyrillische letter 2, een emoji 4. Zo neemt “café” 5 bytes in, geen 4.
MD5 en SHA-1 – alleen voor checksums
Voor beide functies zijn manieren bekend om twee verschillende teksten met dezelfde hash te vinden. Om te controleren of een bestand foutloos is gedownload, werken ze nog prima. Voor een handtekening, een certificaat of het opslaan van wachtwoorden niet. Daarvoor gebruikt men SHA-256 of nieuwer.
Grenzen
Tot 2.000 tekens tekst. De generator leest geen bestanden, en er is hier geen HMAC-sleutel: de tekst gaat mee in de URL van het verzoek, en een sleutel in een URL is geen geheim meer.
Vragen over hashes
Kan een hash worden ontsleuteld?
Nee. Een hash is geen versleuteling; er zit geen tekst in die eruit te halen valt. Sites die MD5 “ontsleutelen”, zoeken de hash gewoon op in een database met korte reeksen die al eerder zijn gehasht.
Waarom komt mijn hash niet overeen met die van een ander programma?
Meestal door een onzichtbaar teken: een regeleinde aan het eind (echo voegt er een toe zonder -n), een spatie of een andere tekstcodering. De generator hasht UTF-8 zonder iets toe te voegen.
Welke functie kies ik?
Voor een nieuwe taak SHA-256. Dat is de standaard voor checksums, handtekeningen en blockchains. SHA-512 is langer, SHA3-256 is een ander ontwerp met dezelfde lengte. MD5 en SHA-1 alleen om oude checksums te vergelijken.
Kan ik hier een wachtwoord hashen?
Berekenen kan, maar wachtwoorden opslaan als gewone SHA-256 is een slecht idee: die is te snel om te kraken met brute kracht. Voor wachtwoorden bestaan trage functies met salt – bcrypt, scrypt, Argon2.
De hash van een lege tekst?
Die bestaat, maar de generator toont hem niet: een leeg veld betekent dat u nog niets hebt ingevoerd. Ter informatie: de SHA-256 van een lege tekst begint met e3b0c442.