Versleutelingsidentifier
Plak een waarde om te identificeren.
U hebt een database-export gemaakt en ziet strings als $2y$10$... of 5f4dcc3b5aa765d61d8327deb882cf99; u moet weten wat u ziet voordat u begint met het kraken of omkeren van de tekst. Deze identificator gebruikt heuristieken voor lengte, karakterset, structuur en voorvoegsel om de meest waarschijnlijke algoritme of codering achter een stuk versleutelde tekst te bepalen.
Hoe identificeer je een versleutelde tekst?
-
1
Plak het voorbeeld
Een enkele hash, een blob versleutelde tekst, een token of een gecodeerde string.
-
2
Bekijk de overeenkomende formaten
Het resultaat rangschikt de passende formaten: eerst de meest waarschijnlijke, daarna wat het voorbeeld verder nog kan zijn.
-
3
Kruisverificatie
Als meerdere formaten passen, gebruik dan een hashcracker of decoder om te bevestigen welke correct is.
-
4
Let op de onzekerheid
Identificatie op basis van één voorbeeld is zelden definitief; als er niets overeenkomt, geeft het hulpmiddel dat aan.
Formaten die de identificator herkent
Hexadecimale hashes, herkend aan hun lengte (in hoofdletters of kleine letters):
| Lengte (hex-tekens) | Meest waarschijnlijk |
|---|---|
| 8 | CRC32 of een andere 32-bits checksum |
| 32 | MD5, MD4 of NTLM |
| 40 | SHA-1 of RIPEMD-160 |
| 56 | SHA-224 of SHA3-224 |
| 64 | SHA-256 of SHA3-256 |
| 96 | SHA-384 of SHA3-384 |
| 128 | SHA-512 of SHA3-512 |
Zo telt d63dc919e201d7bc4c825630d2cf25fdc93d4b2f0d46706d29038d01 56 tekens: het is de SHA-224-hash van het woord “password”.
Wachtwoordhashes, herkend aan hun prefix en structuur:
$2a$,$2b$,$2y$: bcrypt, waarbij de kostenfactor uit het prefix wordt gelezen$1$: md5crypt;$apr1$: Apache MD5 (htpasswd)$5$en$6$: sha256crypt en sha512crypt$y$: yescrypt;$7$en$scrypt$: scrypt$argon2id$,$argon2i$,$argon2d$: Argon2$pbkdf2-sha256$(passlib) enpbkdf2_sha256$(Django): PBKDF2$P$en$H$: phpass (WordPress, phpBB);$S$: Drupal 7*gevolgd door 40 hex-tekens: MySQL 4.1+{SSHA},{SHA}en de andere gangbare LDAP-schema’s
In de gangbare gevallen toont het resultaat ook de hashcat-modus (-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 en Django PBKDF2-SHA256 10000.
Sleutels, tokens en identificatiecodes:
- PEM-blokken (
-----BEGIN ...-----): privésleutels (RSA, EC, OpenSSH, PKCS #8), met een wachtwoord beveiligde privésleutels, publieke sleutels, X.509-certificaten en certificaataanvragen - OpenPGP met ASCII-armor: versleutelde berichten (
BEGIN PGP MESSAGE), sleutelblokken en handtekeningen - Publieke OpenSSH-sleutels (
ssh-rsa,ssh-ed25519,ecdsa-sha2-...) - JSON Web Tokens: de header wordt gedecodeerd om
algentypte tonen, en een token van vijf delen met eenenc-veld is een versleutelde JWE - UUID’s, met hun versie (een identificatiecode, geen hash)
Coderingen, alleen als niets specifiekers overeenkomt:
- Hex, Base32, Base64 en Base64url, met de gedecodeerde lengte in bytes, en URL-codering (procentcodering).
- Hex- of Base64-gegevens waarvan de gedecodeerde lengte een veelvoud van 16 bytes is, kunnen de uitvoer van een blokcijfer zoals AES zijn; bij 128, 256, 384 of 512 bytes kan het ook om met RSA versleutelde gegevens of een handtekening gaan. Base64- of Base32-gegevens van 16, 20, 28, 32, 48 of 64 bytes kunnen een ruwe MD5-, SHA-1- of SHA-2-hash zijn.
Wat identificatie niet kan vertellen
- Het exacte algoritme met 100% zekerheid. Een string van 64 hex-tekens wordt gemeld als SHA-256 of SHA3-256, maar BLAKE2s en andere 256-bits hashes zien er precies hetzelfde uit. MD5-, MD4- en NTLM-hashes hebben allemaal 32 hex-tekens.
- Met welk versleutelingsalgoritme een blob is versleuteld. Versleutelde gegevens zien er willekeurig uit. De lengte beperkt alleen de opties, dus AES of RSA is een mogelijkheid, nooit een zekerheid.
- Sleutelsterkte. Een bcrypt-hash toont de kostenfactor in zijn prefix (
$2y$10$= kostenfactor 10), maar niet de sterkte van het onderliggende wachtwoord. - Of er een salt is gebruikt. Moderne wachtwoordhashes (bcrypt, Argon2) zijn altijd gesalt; oude (kale MD5/SHA) kunnen dat wel of niet zijn.
- De platte tekst. Identificatie draait de hash niet terug; kraken is een apart proces en alleen legaal op uw eigen gegevens.
Wanneer de identificator ernaast zit
- Tokens met een eigen prefix. Apps omhullen een hash soms met hun eigen prefix; verwijder dat omhulsel eerst.
- Dubbele codering. Een binaire hash in hex die daarna in Base64 is verpakt, wordt verkeerd herkend. Decodeer één keer en controleer opnieuw.
- Ongebruikelijke lengtes. Ingekorte hashes (de eerste 16 tekens van een SHA-256, gebruikt als ID) worden als gewone hexgegevens getoond, omdat die lengte niet overeenkomt met een hash uit de tabel hierboven.
- Meerdere waarden tegelijk. De controle leest één waarde. Als u een lijst met hashes plakt, wordt alleen de eerste regel gecontroleerd; plak de andere één voor één.
Toepassingsvoorbeelden
- Beveiligingsaudits: het in kaart brengen van hashtypen in de hele codebasis vóór een cryptomigratie.
- CTF-challenges: een snelle eerste poging om een onbekende blob te doorgronden.
- Incidentrespons: het formaat van gelekte inloggegevens identificeren.
- Frameworkdebuggen: vaststellen welke codering een bibliotheek gebruikt.
Herinnering aan ethische aspecten
Het bepalen van een hashformat valt onder passieve onderzoeksmethoden. Het kraken van een hash van iemand anders zonder toestemming is in de meeste rechtsgebieden in strijd met de wetten tegen computerfraude. Werk alleen met hashes die u zelf bezit of waarvoor u bevoegd bent om ze te analyseren.
Veelgestelde vragen
Deels: MD5 telt 32 hex-tekens, SHA-1 telt er 40. Vallen ze binnen hetzelfde lengtebereik, dan zijn ze niet te onderscheiden op basis van de hash alleen. De context (naam van de databasekolom, standaardinstellingen van het framework, een gelekt schema) geeft meestal de doorslag.
Nee. Het identificeert alleen. Het terugdraaien van een hash of het ontsleutelen van een versleutelde tekst vereist aparte tools (plus de sleutel, of rekenkracht om te kraken), en is alleen legaal op je eigen materiaal.
Argon2id (of bcrypt met een hoge kostenfactor) is de huidige aanbeveling. PBKDF2-SHA256 en scrypt zijn nog steeds acceptabel. Kale MD5, SHA-1 of ongesalte SHA-256 zijn niet veilig voor het opslaan van wachtwoorden.
Nee. De waarde die u plakt, wordt naar onze server gestuurd voor de formaatcontrole, maar wordt in geen enkele database opgeslagen en niet aan de paginalink toegevoegd. Tussen de twee stappen wordt de waarde in dit browsertabblad bewaard, en met “Begin opnieuw” wist u die.
Gerelateerde tools
Getal-naar-letter-code
Zet getallen om naar letters en terug met de code A=1, B=2 (A1Z26) voor puzzels, raadsels en aanwijzingen in escaperooms.
Wachtwoordzin-generator
Genereer een onthoudbare wachtwoordzin uit willekeurige, veelvoorkomende woorden, met een instelbaar aantal woorden, een scheidingsteken, hoofdletters en een optioneel toegevoegd getal.
Willekeurige API-keygenerator
Genereer op de server API-sleutels van 8–128 tekens als hex, base64url of alfanumeriek, of maak een UUIDv4.
SHA256-generator
Genereer SHA-256-hashen van elke tekst. Het resultaat is een uitvoering in hexformat met 64 karakters; dezelfde algoritme wordt gebruikt voor Bitcoin-adressen, TLS-certificaten en JWT-signatuur.
SHA256-hashgenerator
Genereer een SHA-256-hash uit willekeurige tekst. Deterministische hexadecimale uitvoer van 64 kleine letters, het algoritme achter Bitcoin, TLS-certificaten en JWT-handtekeningen.
Checksumverifier
Bereken de checksum (MD5, SHA-1, SHA-256, SHA-384, SHA-512 of CRC-32) van een willekeurig bestand of willekeurige tekst en vergelijk die met de waarde die de uitgever vermeldt voor een duidelijk oordeel over wel of geen overeenkomst.
Tool beschikbaar in andere talen
- Identificador de Cifrado [ES]
- Mã định danh mã hóa [VI]
- 암호화 식별자 [KO]
- Identifikasi Enkripsi [ID]
- Identyfikator szyfrowania [PL]
- Identificateur de chiffrement [FR]
- Identificador de Criptografia [PT]
- Verschlüsselungs-Identifikator [DE]
- معرّف التشفير [AR]
- 暗号化識別子 [JA]
- Krypteringsidentifierare [SV]
- ตัวระบุการเข้ารหัส [TH]
- Encryption Identifier [EN]
- Identificatore di Crittografia [IT]
- Идентификатор шифрования [RU]
- Şifreleme Tanımlayıcısı [TR]
- 加密标识符 [ZH]