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
Klistra in provet
En enda hash, krypterad text, token eller kodad sträng.
-
2
Se de matchande formaten
Alla format vars mönster matchar ditt prov listas i resultatet.
-
3
Korskontrollera
Om flera format matchar, använd en hashcracker eller avkodare för att bekräfta vilket som är korrekt.
-
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
Base64-filencoder
Koda valfri fil (PDF, ZIP, bild, körbar fil) till Base64-text för inbäddning i JSON, e-post, YAML eller data-URI:er. Körs lokalt, ingen uppladdning.
Base58-kodare och avkodare
Koda UTF-8-text eller hexadecimala byte och avkoda Base58 säkert med alfabetet för Bitcoin, Ripple eller Flickr.
SSL-certifikatgenerator
Generera ett självsignerat SSL/TLS-certifikat och en privat RSA-nyckel helt i webbläsaren. Eget Common Name, SAN och giltighet, exporterat som PEM.
A1Z26-chifferkodare
Koda text med A1Z26-chiffret (A=1, B=2, ... Z=26) eller avkoda en siffersekvens tillbaka till bokstäver, med anpassningsbar separator.
bcrypt-generator
Generera en bcrypt-hash från ett klartextlösenord. Justerbar kostnadsfaktor från 4 till 13, kompatibel med Laravel, Django, Node och PHP.
bcrypt-hashgenerator
Generera bcrypt-hashar eller verifiera ett klartextlösenord mot en befintlig bcrypt-hash. Generera och verifiera sida vid sida i ett verktyg.
Verktyget finns på andra språk
- Identificador de Cifrado [ES]
- ตัวระบุการเข้ารหัส [TH]
- Versleutelingsidentifier [NL]
- 加密标识符 [ZH]
- 암호화 식별자 [KO]
- Identificateur de chiffrement [FR]
- Identifikasi Enkripsi [ID]
- Identificador de Criptografia [PT]
- Verschlüsselungs-Identifikator [DE]
- Şifreleme Tanımlayıcısı [TR]
- Identyfikator szyfrowania [PL]
- Encryption Identifier [EN]
- 暗号化識別子 [JA]
- Mã định danh mã hóa [VI]
- معرّف التشفير [AR]
- Identificatore di Crittografia [IT]
- Идентификатор шифрования [RU]