Hash-identifier

Plak een hash om te zien welke algoritmen die kunnen hebben gemaakt, gerangschikt op waarschijnlijkheid. De tool herkent hashwaarden in hex en Base64 en formaten voor wachtwoordhashes, en kan een vermoeden toetsen aan je eigen tekst.

Werkt volledig in je browser. Er wordt niets geüpload.

Zo gebruik je het

  1. Plak één hash. Verwijder labels zoals 0x, sha256= of sha384-, maar laat wachtwoordhashes volledig intact, inclusief een $, { of * aan het begin.
  2. Bekijk het resultaat: de herkende vorm en de grootte in bits, en daarna de mogelijke algoritmen, met de meest waarschijnlijke gemarkeerd. De kostenfactor van bcrypt, of het aantal rondes van sha256crypt, sha512crypt en PBKDF2, wordt getoond als de string die bevat.
  3. Bij de kandidaten MD5, SHA-1, SHA-256, SHA-512, CRC-32 en CRC-32C brengt Tool openen je naar de bijbehorende calculator.
  4. Ken of vermoed je de oorspronkelijke tekst, typ die dan in het veld Vergelijken met tekst om te zien welk algoritme de hash reproduceert.

Zo wordt een hash herkend

Elk hashalgoritme heeft een vaste uitvoergrootte, en hex gebruikt twee tekens per byte, dus de lengte van een hexstring is de sterkste aanwijzing. De tool controleert ook de tekenset en zoekt naar de voorvoegsels die formaten voor wachtwoordhashes aan het begin zetten.

HextekensBitsGangbare algoritmen
832CRC-32, CRC-32C en Adler-32
32128MD5, NTLM en MD4
40160SHA-1 en RIPEMD-160
56224SHA-224 en SHA3-224
64256SHA-256, SHA3-256, BLAKE2s en Keccak-256
96384SHA-384 en SHA3-384
128512SHA-512, SHA3-512, BLAKE2b en Whirlpool

Lengte alleen geeft geen uitsluitsel, want een goede hash ziet eruit als willekeurige gegevens en bevat geen kenmerk van zijn algoritme. Een waarde van 32 tekens kan MD5, MD4 of NTLM zijn; dat laatste gebruikt Windows voor accountwachtwoorden (MD4 van het wachtwoord in UTF-16LE). De tool rangschikt de kandidaten daarom naar hoe gangbaar ze zijn: MD5 eerst, of NTLM eerst als de hash volledig uit hoofdletters bestaat, zoals sommige tools voor het dumpen van Windows-wachtwoorden hem weergeven. Zo verschillen ook Keccak-256 van Ethereum en de gestandaardiseerde SHA3-256 alleen in de opvulling, maar leveren ze allebei 64 hextekens op.

Base64-hashwaarden en formaten voor wachtwoordhashes

Sommige systemen schrijven hashwaarden in Base64 in plaats van hex: 24 tekens voor 16 bytes (MD5, zoals in de header Content-MD5), 28 voor SHA-1, 44 voor SHA-256, 64 voor SHA-384 (zoals in Subresource Integrity-attributen) en 88 voor SHA-512. De tool rekent de lengte terug naar bytes en toont dezelfde kandidaten. Ontbrekende opvulling en URL-veilige tekens worden geaccepteerd, maar verwijder eerst een voorvoegsel zoals sha384-.

Formaten voor wachtwoordhashes beschrijven zichzelf: een voorvoegsel noemt het algoritme, en de salt en de kosteninstellingen staan in de string zelf. De moderne formaten gebruiken een salt en zijn bewust traag; de LDAP- en MySQL-formaten in de laatste twee rijen zijn snelle constructies op basis van SHA-1, en alleen {SSHA} voegt een salt toe.

Begint metFormaatMeestal te vinden in
$2a$, $2b$, $2y$bcrypt, altijd 60 tekens; de twee cijfers daarna zijn de kostenfactor, en elke stap verdubbelt het werkWebframeworks, PHP password_hash()
$argon2id$Argon2id met instellingen voor geheugen (m), tijd (t) en parallellisme (p)Moderne applicaties; aanbevolen door OWASP
$6$, $5$sha512crypt, sha256crypt, met optionele rounds=/etc/shadow op Linux
$y$yescrypt/etc/shadow op veel huidige Linux-distributies
$1$, $apr1$md5crypt, Apache MD5Oudere Unix-systemen, .htpasswd
pbkdf2_sha256$PBKDF2-SHA256 met het aantal iteratiesDjango
{SHA}, {SSHA}SHA-1, SHA-1 met saltLDAP-directory's
* en 40 hexcijfersMySQL 4.1+ PASSWORD()Gebruikerstabellen van MySQL

Herkennen is geen kraken

Een hash werkt maar één kant op. De identifier kijkt alleen naar de vorm van de string: hij kan de invoer niet onthullen, ontsleutelen of opzoeken, en stuurt niets naar een server of een online database. De enige manier om een invoer te vinden is kandidaten raden en die stuk voor stuk hashen, en dat is precies wat tools voor wachtwoordherstel zoals hashcat en John the Ripper doen zodra ze het algoritme kennen. Trage formaten met een salt, zoals bcrypt en Argon2, bestaan om dat raden duur te maken. Test alleen hashes waarvoor je toestemming hebt.

Vergelijken met tekst toetst één specifiek vermoeden. De tool hasht de tekst die je typt als UTF-8 met MD5, SHA-1, SHA-256, SHA-384, SHA-512, CRC-32 en CRC-32C, en meldt welk resultaat gelijk is aan de hash, of die nu in hex (kleine letters of hoofdletters) of in Base64 is geschreven. Wachtwoordhashes met een salt en HMAC's kan deze controle niet bevestigen, omdat die ook afhangen van een salt of een geheime sleutel; gebruik voor een waarde met een sleutel de HMAC-generator met die sleutel.

Veelgestelde vragen

Kan deze tool me de oorspronkelijke tekst of het wachtwoord vertellen?

Nee. De tool noemt alleen het waarschijnlijke algoritme. Hashfuncties zijn niet om te keren; online "hash-decrypters" zoeken de waarde op in tabellen met hashes van veelgebruikte woorden en uitgelekte wachtwoorden, en dat werkt alleen bij zwakke invoer zonder salt.

Waarom staan er meerdere algoritmen bij één hash?

Algoritmen met dezelfde uitvoergrootte leveren strings met dezelfde lengte en tekenset op, en niets in de hash legt vast welk algoritme is gebruikt. De meest waarschijnlijke kandidaat staat bovenaan, op basis van hoe gangbaar elk algoritme is. Wil je zekerheid, bereken de hash dan opnieuw uit een bekende invoer.

Is een hexstring van 32 tekens altijd MD5?

Meestal wel, maar niet altijd. NTLM, MD4, MD2 en RIPEMD-128 hebben dezelfde lengte, net als elke 128-bitswaarde in hex, zoals een UUID zonder streepjes of een willekeurig token. De context beslist: een Windows-wachtwoordhash wijst op NTLM, een controlesom van een bestand op MD5.

Waarom vindt Vergelijken met tekst geen overeenkomst?
De tekst moet byte voor byte overeenkomen. Veelvoorkomende oorzaken zijn een regeleinde aan het eind (echo voegt er een toe, tenzij je echo -n of printf gebruikt), andere spaties of hoofdletters, tekst die in een andere codering dan UTF-8 is gehasht, een salt of sleutel zoals bij wachtwoordhashes en HMAC's, of een algoritme dat de controle niet dekt, zoals SHA-3, BLAKE2 of NTLM.
Is het veilig om hier een wachtwoordhash te plakken?

De analyse draait volledig in je browser en de hash wordt niet verzonden of opgeslagen. Toch kan iedereen die een wachtwoordhash van een echt systeem in handen heeft, offline wachtwoorden proberen te raden. Behandel zulke hashes daarom als gevoelige gegevens en houd ze uit tickets, chats en screenshots.