Krypteringsidentifierare

Klistra in ett värde att identifiera.

Identifiera Formatera

Du har hämtat en databasedump och finner strängar som $2y$10$... eller 5f4dcc3b5aa765d61d8327deb882cf99, och du behöver veta vad du ser innan du börjar kracka eller omvända krypteringen. Denna identifierare använder metoder för att bedöma längd, karaktärsuppsättning, struktur och prefix för att uppskatta den mest sannolika algoritmen eller kodningen bakom ett krypterat textexempel.

Hur man identifierar en krypterad text

  1. 1

    Klistra in provet

    En enda hash, krypterad text, token eller kodad sträng.

  2. 2

    Se de matchande formaten

    Resultatet rangordnar de format som passar: de mest sannolika först, sedan vad provet annars kan vara.

  3. 3

    Korskontrollera

    Om flera format matchar, använd en hashcracker eller avkodare för att bekräfta vilket som är korrekt.

  4. 4

    Notera att det inte är säkert

    Identifiering utifrån ett enda prov är sällan entydig; om inget matchar visar verktyget det.

Format som identifieraren känner igen

Hexadecimala hashvärden, som känns igen på sin längd (versaler eller gemener):

Längd (hex-tecken) Mest sannolikt
8 CRC32 eller en annan 32-bitars kontrollsumma
32 MD5, MD4 eller NTLM
40 SHA-1 eller RIPEMD-160
56 SHA-224 eller SHA3-224
64 SHA-256 eller SHA3-256
96 SHA-384 eller SHA3-384
128 SHA-512 eller SHA3-512

Till exempel har d63dc919e201d7bc4c825630d2cf25fdc93d4b2f0d46706d29038d01 56 tecken: det är SHA-224-hashen av ordet ”password”.

Lösenordshashar, som känns igen på prefix och struktur:

  • $2a$, $2b$, $2y$: bcrypt, där kostnadsfaktorn läses ur prefixet
  • $1$: md5crypt; $apr1$: Apache MD5 (htpasswd)
  • $5$ och $6$: sha256crypt och sha512crypt
  • $y$: yescrypt; $7$ och $scrypt$: scrypt
  • $argon2id$, $argon2i$, $argon2d$: Argon2
  • $pbkdf2-sha256$ (passlib) och pbkdf2_sha256$ (Django): PBKDF2
  • $P$ och $H$: phpass (WordPress, phpBB); $S$: Drupal 7
  • * följt av 40 hex-tecken: MySQL 4.1+
  • {SSHA}, {SHA} och de andra vanliga LDAP-schemana

I de vanliga fallen visar resultatet också hashcat-läget (-m): MD5 0, NTLM 1000, SHA-1 100, SHA-256 1400, SHA-512 1700, bcrypt 3200, md5crypt 500, sha256crypt 7400, sha512crypt 1800, phpass 400, Drupal 7 7900, MySQL 4.1+ 300 och Django PBKDF2-SHA256 10000.

Nycklar, token och identifierare:

  • PEM-block (-----BEGIN ...-----): privata nycklar (RSA, EC, OpenSSH, PKCS #8), lösenordsskyddade privata nycklar, publika nycklar, X.509-certifikat och certifikatbegäranden
  • OpenPGP med ASCII-armor: krypterade meddelanden (BEGIN PGP MESSAGE), nyckelblock och signaturer
  • Publika OpenSSH-nycklar (ssh-rsa, ssh-ed25519, ecdsa-sha2-...)
  • JSON Web Tokens: headern avkodas för att visa alg och typ, och en token i fem delar med ett enc-fält är en krypterad JWE
  • UUID:er, med sin version (en identifierare, inte en hash)

Kodningar, bara när inget mer specifikt matchar:

  • Hex, Base32, Base64 och Base64url, med den avkodade längden i byte, samt URL-kodning (procentkodning).
  • Hex- eller Base64-data vars avkodade längd är en multipel av 16 byte kan vara utdata från ett blockchiffer som AES; 128, 256, 384 eller 512 byte kan också vara RSA-krypterad data eller en signatur. Base64- eller Base32-data på 16, 20, 28, 32, 48 eller 64 byte kan vara en rå MD5-, SHA-1- eller SHA-2-hash.

Vad identifieringen inte kan berätta

  • Exakt algoritm med 100 % säkerhet. En sträng på 64 hex-tecken rapporteras som SHA-256 eller SHA3-256, men BLAKE2s och andra 256-bitars hashar ser exakt likadana ut. MD5-, MD4- och NTLM-hashar har alla 32 hex-tecken.
  • Vilket chiffer som krypterade ett datablock. Krypterad data ser slumpmässig ut. Längden begränsar bara alternativen, så AES eller RSA är en möjlighet, aldrig en visshet.
  • Nyckelstyrka. En bcrypt-hash visar kostnadsfaktorn i sitt prefix ($2y$10$ = kostnad 10), men inte styrkan hos själva lösenordet.
  • Om den är saltad. Moderna lösenordshashar (bcrypt, Argon2) är alltid saltade; gamla (rå MD5/SHA) kan vara det eller inte.
  • Klartexten. Identifiering vänder inte på hashen; att knäcka den är en separat process som bara är laglig på dina egna data.

När identifieraren har fel

  • Token med egna prefix. Appar omsluter ibland en hash med sitt eget prefix; ta bort omslaget först.
  • Dubbel kodning. En binär hash i hex som sedan slagits in i Base64 identifieras fel. Prova att avkoda en gång och kör igen.
  • Ovanliga längder. Avkortade hashar (de första 16 tecknen i en SHA-256 som används som ID) visas som vanlig hexdata, eftersom den längden inte matchar någon hash i tabellen ovan.
  • Flera värden samtidigt. Kontrollen läser ett värde. Om du klistrar in en lista med hashar kontrolleras bara första raden; klistra in de andra en i taget.

Användningsområden

  • Säkerhetsgranskningar: att kartlägga hashtyper i hela kodbasen inför en kryptomigrering.
  • CTF-utmaningar: en snabb första koll av ett okänt datablock.
  • Incidenthantering: att identifiera formatet på läckta inloggningsuppgifter.
  • Ramverksfelsökning: att lista ut vilken kodning ett bibliotek producerar.

Etisk påminnelse

Att identifiera ett hashformat är passiv forskning. Att knäcka någon annans hash utan tillstånd strider mot lagar om dataintrång i de flesta jurisdiktioner. Arbeta bara med hashvärden som du äger eller har behörighet att analysera.

Vanliga frågor

Delvis: MD5 är 32 hex-tecken, medan SHA-1 är 40. Om båda ligger i samma längdintervall går de inte att skilja åt enbart utifrån hashvärdet. Kontexten: namnet på en databaskolumn, ramverkets standardinställningar eller ett läckt schema, brukar avgöra frågan.

Nej. Det identifierar bara. Att vända en hash eller dekryptera en chiffertext kräver separata verktyg (och nyckeln, eller beräkningsresurser för att knäcka den), och är bara lagligt på ditt eget material.

Argon2id (eller bcrypt med hög kostnadsfaktor) är den nuvarande rekommendationen. PBKDF2-SHA256 och scrypt är fortfarande acceptabla alternativ. Vanlig MD5, SHA-1 eller osalterad SHA-256 är inte säkra för lagring av lösenord.

Nej. Värdet du klistrar in skickas till vår server för formatkontroll, men det lagras inte i någon databas och läggs inte till i sidlänken. Mellan de två stegen ligger det kvar i den här webbläsarfliken, och ”Börja om från början” rensar det.

Relaterade verktyg

Verktyget finns på andra språk