Krypteringsidentifierare

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

    Alla format vars mönster matchar ditt prov listas i resultatet.

  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.

Signaturmönster som identifieraren använder

Baserat på längd (för hex-kodade hashvärden):

Längd (hex-tecken) Identifieras som
32 MD5
40 SHA-1
64 SHA-256
128 SHA-512

Andra längder, som SHA-224 med 56 hex-tecken eller SHA-384 med 96, känns inte igen som hashvärden (en hex-kedja på 56 eller 96 tecken klassas i stället som Base64).

Baserat på prefix (endast bcrypt-prefix känns igen):

  • $2a$ $2b$ $2y$ bcrypt

Andra prefix i crypt-stil ($1$, $5$, $6$, $argon2i$, $argon2id$, $pbkdf2$) känns inte igen.

Baserat på kodning:

  • Alla tecken i [A-Za-z0-9+/=] och med en längd som är en multipel av 4: troligen Base64.
  • Tre segment åtskilda av ., var och en med tecken ur [A-Za-z0-9_-]: JWT.

PEM-omslag, OpenSSH-block ssh-rsa/ssh-ed25519 och Base64url-strängar med - eller _ upptäcks inte.

Vad identifieringen inte kan berätta

  • Exakt algoritm med 100 % säkerhet. En sträng på 64 hex-tecken rapporteras som SHA-256, men den kan också vara SHA3-256 eller BLAKE2s; de går inte att skilja åt enbart utifrån chiffertexten. NTLM-hashar (även de 32 hex-tecken) ser identiska ut med MD5.
  • 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å hashvärdet; att knäcka det är en separat process som bara är tillåten 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öra igen.
  • Ovanliga längder. Avkortade hashvärden (de första 16 tecknen i SHA-256 använda som ID) visas som “Base64” eftersom reglerna för tecken och längd överlappar varandra.
  • Inramade eller omslutna format. PEM-block, OpenSSH-nycklar och Djangos pbkdf2_sha256$... känns inte igen; ta bort omslaget eller prefixet och försök igen, eller använd en särskild parser.

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.

Relaterade verktyg

Verktyget finns på andra språk