Identifiera hashtyp

Klistra in ett hashvärde för att se vilka algoritmer som kan ha skapat det, sorterade efter sannolikhet. Verktyget läser hashvärden i hex och Base64 samt format för lösenordshashar, och kan testa en gissning mot din egen text.

Körs helt i din webbläsare. Inget laddas upp.

Så använder du verktyget

  1. Klistra in ett hashvärde. Ta bort etiketter som 0x, sha256= eller sha384-, men behåll lösenordshashar hela, inklusive ett inledande $, { eller *.
  2. Läs resultatet: den identifierade formen och dess storlek i bitar, och därefter de möjliga algoritmerna, där de troligaste är markerade som Mest sannolik. Kostnadsfaktorn för bcrypt, eller antalet rundor för sha256crypt, sha512crypt och PBKDF2, visas när värdet finns med i strängen.
  3. För kandidaterna MD5, SHA-1, SHA-256, SHA-512, CRC-32 och CRC-32C tar Öppna verktyget dig till motsvarande kalkylator.
  4. Om du känner till eller misstänker vad originaltexten är skriver du den i Kontrollera mot text för att se vilken algoritm som återskapar hashvärdet.

Så identifieras ett hashvärde

Varje hashalgoritm har en fast utdatastorlek, och hex använder två tecken per byte, så längden på en hexsträng är den starkaste ledtråden. Verktyget kontrollerar också teckenuppsättningen och letar efter de prefix som format för lösenordshashar placerar i början.

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

Enbart längden räcker inte för att avgöra saken, eftersom ett bra hashvärde ser ut som slumpmässig data och inte bär någon markering av sin algoritm. Ett värde på 32 tecken kan vara MD5, MD4 eller NTLM, som Windows använder för kontolösenord (MD4 av lösenordet i UTF-16LE). Verktyget rangordnar därför kandidaterna efter hur vanliga de är: MD5 först, eller NTLM först när hashvärdet bara består av versaler, så som vissa Windows-verktyg för lösenordsdumpning skriver ut det. På samma sätt skiljer sig Ethereums Keccak-256 och den standardiserade SHA3-256 bara åt i utfyllnaden, men båda ger 64 hextecken.

Hashvärden i Base64 och format för lösenordshashar

Vissa system skriver hashvärden i Base64 i stället för hex: 24 tecken för 16 byte (MD5, som i headern Content-MD5), 28 för SHA-1, 44 för SHA-256, 64 för SHA-384 (som i attribut för Subresource Integrity) och 88 för SHA-512. Verktyget räknar om längden till byte och listar samma kandidater. Utelämnad utfyllnad och URL-säkra tecken godtas, men ta först bort ett prefix som sha384-.

Format för lösenordshashar beskriver sig själva: ett prefix anger algoritmen, och salt och kostnadsinställningar skrivs in i strängen. De moderna formaten är saltade och avsiktligt långsamma; LDAP- och MySQL-formaten i de två sista raderna är snabba konstruktioner baserade på SHA-1, och bara {SSHA} lägger till ett salt.

Börjar medFormatFörekommer vanligen i
$2a$, $2b$, $2y$bcrypt, alltid 60 tecken; de två siffrorna som följer är kostnadsfaktorn, och varje steg fördubblar arbetetWebbramverk, PHP password_hash()
$argon2id$Argon2id med inställningar för minne (m), tid (t) och parallellism (p)Moderna applikationer; rekommenderas av OWASP
$6$, $5$sha512crypt, sha256crypt, med valfritt rounds=/etc/shadow i Linux
$y$yescrypt/etc/shadow i många aktuella Linuxdistributioner
$1$, $apr1$md5crypt, Apache MD5Äldre Unix-system, .htpasswd
pbkdf2_sha256$PBKDF2-SHA256 med antal iterationerDjango
{SHA}, {SSHA}SHA-1, saltad SHA-1LDAP-kataloger
* och 40 hexsiffrorMySQL 4.1+ PASSWORD()Användartabeller i MySQL

Att identifiera är inte att knäcka

Hashning är envägs. Verktyget tittar bara på strängens form: det kan inte avslöja, dekryptera eller slå upp indatan, och det skickar ingenting till en server eller en databas på nätet. Det enda sättet att hitta indatan är att gissa kandidater och hasha var och en, vilket är vad verktyg för att återskapa lösenord, som hashcat och John the Ripper, gör när de väl känner till algoritmen. Saltade, långsamma format som bcrypt och Argon2 finns för att göra sådana gissningar dyra. Testa bara hashvärden som du har behörighet att arbeta med.

Kontrollera mot text testar en enskild gissning. Texten du skriver hashas som UTF-8 med MD5, SHA-1, SHA-256, SHA-384, SHA-512, CRC-32 och CRC-32C, och du får veta vilket resultat som är lika med hashvärdet, oavsett om det är skrivet i hex med gemener eller versaler eller i Base64. Funktionen kan inte bekräfta saltade lösenordshashar eller HMAC-värden, eftersom de även beror på ett salt eller en hemlig nyckel; för ett nyckelbaserat värde använder du HMAC-generatorn med nyckeln.

Vanliga frågor

Kan verktyget visa originaltexten eller lösenordet?

Nej. Det anger bara den troliga algoritmen. Hashfunktioner går inte att vända; tjänster på nätet som påstår sig "dekryptera hashvärden" slår upp värdet i tabeller med hashvärden för vanliga ord och läckta lösenord, vilket bara fungerar för svaga, osaltade indata.

Varför listas flera algoritmer för ett och samma hashvärde?

Algoritmer med samma utdatastorlek ger strängar med samma längd och teckenuppsättning, och ingenting i själva hashvärdet visar vilken som användes. Den mest sannolika kandidaten markeras först, utifrån hur vanlig varje algoritm är. Vill du vara säker beräknar du hashvärdet på nytt från känd indata.

Är en hexsträng på 32 tecken alltid MD5?

Oftast, men inte alltid. NTLM, MD4, MD2 och RIPEMD-128 ger samma längd, och det gör även alla 128-bitarsvärden som skrivs i hex, till exempel ett UUID utan bindestreck eller en slumpmässig token. Sammanhanget avgör: en lösenordshash från Windows betyder NTLM, en kontrollsumma för en fil betyder MD5.

Varför hittar Kontrollera mot text ingen matchning?
Texten måste stämma byte för byte. Vanliga orsaker är en avslutande radbrytning (echo lägger till en om du inte använder echo -n eller printf), andra blanksteg eller annat skiftläge, text som hashades i en annan kodning än UTF-8, ett salt eller en nyckel som i lösenordshashar och HMAC-värden, eller en algoritm som kontrollen inte täcker, till exempel SHA-3, BLAKE2 eller NTLM.
Är det säkert att klistra in en lösenordshash här?

Analysen körs helt i din webbläsare, och hashvärdet varken överförs eller sparas. En lösenordshash från ett verkligt system låter ändå vem som helst som har den prova gissningar offline, så behandla sådana hashvärden som känsliga och håll dem borta från ärenden, chattar och skärmbilder.