Sådan bruger du værktøjet
- Indsæt én hashværdi. Fjern etiketter som 0x, sha256= eller sha384-, men behold hashværdier for adgangskoder hele, inklusive et indledende $, { eller *.
- Læs resultatet: den genkendte form og dens størrelse i bit og derefter listen Mulige algoritmer, hvor de mest sandsynlige er markeret som Mest sandsynlig. Cost-faktoren for bcrypt eller antallet af runder for sha256crypt, sha512crypt og PBKDF2 vises, når strengen indeholder den.
- For kandidaterne MD5, SHA-1, SHA-256, SHA-512, CRC-32 og CRC-32C fører Åbn værktøj dig til den tilsvarende beregner.
- Hvis du kender eller har mistanke om den oprindelige tekst, så skriv den i Kontrollér mod tekst for at se, hvilken algoritme der giver den samme hashværdi.
Sådan identificeres en hashværdi
Hver hashalgoritme har en fast outputstørrelse, og hex bruger to tegn pr. byte, så længden af en hexstreng er det stærkeste spor. Værktøjet kontrollerer også tegnsættet og leder efter de præfikser, som hashformater for adgangskoder sætter i starten.
| Hextegn | Bit | Almindelige algoritmer |
|---|---|---|
| 8 | 32 | CRC-32, CRC-32C og Adler-32 |
| 32 | 128 | MD5, NTLM og MD4 |
| 40 | 160 | SHA-1 og RIPEMD-160 |
| 56 | 224 | SHA-224 og SHA3-224 |
| 64 | 256 | SHA-256, SHA3-256, BLAKE2s og Keccak-256 |
| 96 | 384 | SHA-384 og SHA3-384 |
| 128 | 512 | SHA-512, SHA3-512, BLAKE2b og Whirlpool |
Længden alene kan ikke afgøre spørgsmålet, fordi en god hashværdi ligner tilfældige data og ikke indeholder nogen markering af algoritmen. En værdi på 32 tegn kan være MD5, MD4 eller NTLM, som Windows bruger til kontoadgangskoder (MD4 af adgangskoden i UTF-16LE). Værktøjet rangerer derfor kandidaterne efter, hvor udbredte de er: MD5 først, eller NTLM først, når hashværdien kun består af store bogstaver, sådan som nogle Windows-værktøjer til udtræk af adgangskoder skriver den. På samme måde adskiller Ethereums Keccak-256 og den standardiserede SHA3-256 sig kun ved udfyldningen, men begge giver 64 hextegn.
Base64-kodede hashværdier og hashformater for adgangskoder
Nogle systemer skriver hashværdier i Base64 i stedet for hex: 24 tegn for 16 bytes (MD5, som i headeren Content-MD5), 28 for SHA-1, 44 for SHA-256, 64 for SHA-384 (som i Subresource Integrity-attributter) og 88 for SHA-512. Værktøjet omregner længden til bytes og viser de samme kandidater. Manglende udfyldning og URL-sikre tegn accepteres, men fjern først et præfiks som sha384-.
Hashformater for adgangskoder beskriver sig selv: Et præfiks angiver algoritmen, og saltværdien og cost-indstillingerne er skrevet ind i strengen. De moderne formater er saltede og bevidst langsomme; LDAP- og MySQL-formaterne i de to sidste rækker er hurtige SHA-1-konstruktioner, og kun {SSHA} tilføjer en saltværdi.
| Starter med | Format | Findes typisk i |
|---|---|---|
$2a$, $2b$, $2y$ | bcrypt, altid 60 tegn; de næste to cifre er cost-faktoren, og hvert trin fordobler arbejdet | Webframeworks, PHP password_hash() |
$argon2id$ | Argon2id med indstillinger for hukommelse (m), tid (t) og parallelitet (p) | Moderne applikationer; anbefales af OWASP |
$6$, $5$ | sha512crypt, sha256crypt, med valgfri rounds= | /etc/shadow på Linux |
$y$ | yescrypt | /etc/shadow på mange aktuelle Linux-distributioner |
$1$, $apr1$ | md5crypt, Apache MD5 | Ældre Unix-systemer, .htpasswd |
pbkdf2_sha256$ | PBKDF2-SHA256 med antal iterationer | Django |
{SHA}, {SSHA} | SHA-1, saltet SHA-1 | LDAP-kataloger |
* og 40 hexcifre | MySQL 4.1+ PASSWORD() | Brugertabeller i MySQL |
At identificere er ikke at knække
Hashing virker kun den ene vej. Identifikatoren ser kun på strengens form: Den kan ikke afsløre, dekryptere eller slå inputtet op, og den sender intet til en server eller en onlinedatabase. Den eneste måde at finde et input på er at gætte på kandidater og hashe hver enkelt, og det er netop, hvad værktøjer til gendannelse af adgangskoder som hashcat og John the Ripper gør, når de kender algoritmen. Saltede, langsomme formater som bcrypt og Argon2 findes for at gøre den slags gætteri dyrt. Test kun hashværdier, du har tilladelse til at arbejde med.
Kontrollér mod tekst tester ét bestemt gæt. Funktionen hasher den tekst, du skriver, som UTF-8 med MD5, SHA-1, SHA-256, SHA-384, SHA-512, CRC-32 og CRC-32C og fortæller dig, hvilket resultat der er lig med hashværdien, uanset om den er skrevet i hex med store eller små bogstaver eller i Base64. Den kan ikke bekræfte saltede hashværdier for adgangskoder eller HMAC-værdier, fordi de også afhænger af en saltværdi eller en hemmelig nøgle; til en værdi med nøgle kan du bruge HMAC-generatoren med nøglen.
Ofte stillede spørgsmål
Kan værktøjet fortælle mig den oprindelige tekst eller adgangskode?
Nej. Det angiver kun den sandsynlige algoritme. Hashfunktioner kan ikke vendes om; såkaldte "hash-dekryptere" på nettet slår blot værdien op i tabeller med hashværdier af almindelige ord og lækkede adgangskoder, og det virker kun for svage, usaltede input.
Hvorfor vises der flere algoritmer for én hashværdi?
Algoritmer med samme outputstørrelse giver strenge med samme længde og tegnsæt, og intet i selve hashværdien afslører, hvilken der er brugt. Den mest sandsynlige kandidat står først, ud fra hvor udbredt hver algoritme er. Vil du være sikker, så beregn hashværdien igen ud fra et kendt input.
Er en hexstreng på 32 tegn altid MD5?
Som regel, men ikke altid. NTLM, MD4, MD2 og RIPEMD-128 giver samme længde, og det gør enhver 128-bit-værdi skrevet i hex også, for eksempel et UUID uden bindestreger eller et tilfældigt token. Sammenhængen afgør det: En hashværdi af en Windows-adgangskode peger på NTLM, en kontrolsum for en fil peger på MD5.
Hvorfor finder Kontrollér mod tekst ikke noget, der stemmer overens?
echo tilføjer et, medmindre du bruger echo -n eller printf), forskelle i mellemrum eller i store og små bogstaver, tekst, der er hashet i en anden tegnkodning end UTF-8, en saltværdi eller en nøgle som i hashværdier for adgangskoder og HMAC-værdier eller en algoritme, som kontrollen ikke dækker, for eksempel SHA-3, BLAKE2 eller NTLM.Er det sikkert at indsætte en hashværdi for en adgangskode her?
Analysen kører udelukkende i din browser, og hashværdien bliver ikke sendt eller gemt. Alligevel kan alle, der har en hashværdi for en adgangskode fra et rigtigt system, prøve at gætte offline, så behandl sådanne hashværdier som følsomme oplysninger, og hold dem ude af supportsager, chats og skærmbilleder.