Alle tools draaien in je browser — je bestanden verlaten nooit je apparaat.
All tools154

Ontwikkelaar

Hash-identificatie

Het type hash bepalen aan de hand van het formaat.

Wat het doet. Deze tool bepaalt aan de hand van lengte en tekenset welk hash-algoritme een waarde waarschijnlijk heeft geproduceerd. Het is altijd een waarschijnlijkheid, want veel algoritmen leveren even lange waarden op.
Draait in je browserNiets wordt geüploadGeen accountWerkt offline

Hoe je dit gebruikt Hash-identificatie

  1. Plak de hashwaarde.
  2. Bekijk de waarschijnlijke algoritmen.
  3. Gebruik het resultaat als aanwijzing, niet als bewijs.

Waaraan je hashes herkent

De lengte is de belangrijkste aanwijzing, maar niet doorslaggevend.

Waaraan je hashes herkent
Lengte (hex)Waarschijnlijk algoritme
32 tekensMD5 of NTLM
40 tekensSHA-1
56 tekensSHA-224
64 tekensSHA-256
96 tekensSHA-384
128 tekensSHA-512

Een hexadecimale waarde van 32 tekens kan MD5 zijn of NTLM uit de Windows-wereld. De lengte alleen beslist dat niet; de context wel.

Sommige formaten zijn juist eenduidig omdat ze een voorvoegsel meedragen. Een waarde die met $2y$ begint is bcrypt, $argon2id$ is Argon2, en $6$ wijst op SHA-512-Crypt zoals dat in Unix-systemen wordt gebruikt.

Die voorvoegsels bevatten meestal ook de kostenfactor en het zout, wat ze goed herkenbaar maakt.

Bij Base64-gecodeerde hashes verandert de lengte, en dan helpt terugrekenen naar het aantal bytes.

Wat dat betekent voor wachtwoorden

Hier wordt de bepaling praktisch relevant.

Vind je in een database wachtwoorden als MD5- of SHA-1-waarden, dan is dat een ernstig probleem. Die algoritmen zijn extreem snel, en juist dat maakt ze ongeschikt voor wachtwoorden: een gewone grafische kaart probeert miljarden combinaties per seconde.

Ook SHA-256 is ongeschikt als wachtwoordhash, hoewel het cryptografisch niet gebroken is. De reden is dezelfde: het is te snel.

Voor wachtwoorden zijn bewust trage algoritmen nodig met een instelbare kostenfactor. De gangbare aanbevelingen noemen Argon2, bcrypt en scrypt, plus PBKDF2 met een hoog aantal iteraties waar de andere niet beschikbaar zijn.

Argon2id geldt momenteel als de beste keuze voor nieuwe ontwikkeling.

En een zout hoort er altijd bij: een willekeurige waarde per wachtwoord die voorkomt dat gelijke wachtwoorden gelijke hashes opleveren en die vooraf berekende tabellen onbruikbaar maakt. De genoemde algoritmen maken het zelf aan.

Vind je in een bestaand systeem MD5-hashes, dan is de gebruikelijke route: bij de volgende geslaagde aanmelding opnieuw hashen en de oude waarden geleidelijk vervangen.

De AVG vraagt bovendien om passende technische maatregelen: wachtwoorden opslaan met een verouderd algoritme is na een datalek moeilijk te verdedigen tegenover de toezichthouder.

Wat een hash niet is

Een paar verduidelijkingen die steeds weer nodig zijn.

Een hash is geen versleuteling. Hij is niet omkeerbaar — er is geen sleutel om terug te rekenen.

Toch kunnen zwakke hashes "gekraakt" worden, niet door omkering maar door proberen. Bij korte of veelvoorkomende wachtwoorden volstaat vaak opzoeken in een vooraf berekende tabel.

Een hash zegt ook niets over de lengte van de oorspronkelijke invoer: één letter en een heel boek leveren een waarde van dezelfde omvang op.

Voor controlesommen van bestanden zijn hashes juist ideaal, en daar is SHA-256 de juiste keuze. Overheden en softwareleveranciers publiceren controlesommen bij hun downloads.

Bij een gedownload bestand loont vergelijken echt: het kost seconden en ontdekt zowel overdrachtsfouten als gemanipuleerde downloads.

Deze tool werkt lokaal in je browser.

Veelgestelde vragen

Kun je een hash met zekerheid herkennen?

Alleen waarschijnlijk. Maar voorvoegsels als $2y$ zijn wel eenduidig.

Zijn MD5 en SHA-1 geschikt voor wachtwoorden?

Nee. Ze zijn veel te snel en laten massaal proberen toe.

Wat moet ik voor wachtwoorden gebruiken?

Argon2id, bcrypt of scrypt, en PBKDF2 met veel iteraties als het niet anders kan.

Waar dient een zout voor?

Het voorkomt dat gelijke wachtwoorden gelijke hashes geven en maakt tabellen onbruikbaar.

Is een hash omkeerbaar?

Nee, maar zwakke hashes worden gekraakt door te proberen.

Worden mijn gegevens verstuurd?

Nee.