Şifreleme Tanımlayıcısı
Tanımlamak için bir değer yapıştırın.
Bir veritabanı dökümünü incelerken $2y$10$... veya 5f4dcc3b5aa765d61d8327deb882cf99 gibi diziler görürsünüz ve kırmaya ya da tersine çevirmeye başlamadan önce neye baktığınızı bilmeniz gerekir. Bu tanımlayıcı, bir şifreli metin örneğinin arkasındaki en olası algoritmayı veya kodlamayı tahmin etmek için uzunluk, karakter seti, yapı ve ön eke dayalı sezgisel yöntemler (heuristikler) uygular.
Şifreli metni nasıl tanımlarız?
-
1
Örneği yapıştırın
Tek bir hash, şifreli metin bloğu, token veya kodlanmış karakter dizisi.
-
2
Eşleşen formatları görün
Sonuç, uyan formatları sıralar: önce en olası olanları, ardından yapıştırdığınız değerin başka ne olabileceğini gösterir.
-
3
Çapraz kontrol yapın
Birden fazla format eşleşiyorsa hangisinin doğru olduğunu doğrulamak için bir hash kırıcı veya kod çözücü kullanın.
-
4
Belirsizliği göz önünde bulundurun
Yalnızca bir örnekten yapılan tanımlama nadiren kesindir; hiçbir şey eşleşmezse araç bunu belirtir.
Tanımlayıcının tanıdığı formatlar
Hex hash’ler, uzunluklarına göre tanınır (büyük ya da küçük harf fark etmez):
| Uzunluk (hex karakter) | En olası |
|---|---|
| 8 | CRC32 veya başka bir 32 bit sağlama toplamı |
| 32 | MD5, MD4 veya NTLM |
| 40 | SHA-1 veya RIPEMD-160 |
| 56 | SHA-224 veya SHA3-224 |
| 64 | SHA-256 veya SHA3-256 |
| 96 | SHA-384 veya SHA3-384 |
| 128 | SHA-512 veya SHA3-512 |
Örneğin d63dc919e201d7bc4c825630d2cf25fdc93d4b2f0d46706d29038d01 56 karakterdir: “password” kelimesinin SHA-224 hash’idir.
Parola hash’leri, ön eklerine ve yapılarına göre tanınır:
$2a$,$2b$,$2y$: bcrypt; maliyet faktörü ön ekten okunur$1$: md5crypt;$apr1$: Apache MD5 (htpasswd)$5$ve$6$: sha256crypt ve sha512crypt$y$: yescrypt;$7$ve$scrypt$: scrypt$argon2id$,$argon2i$,$argon2d$: Argon2$pbkdf2-sha256$(passlib) vepbkdf2_sha256$(Django): PBKDF2$P$ve$H$: phpass (WordPress, phpBB);$S$: Drupal 7*ve ardından 40 hex karakter: MySQL 4.1+{SSHA},{SHA}ve diğer yaygın LDAP şemaları
Yaygın durumlarda sonuç, hashcat modunu (-m) da gösterir: 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 ve Django PBKDF2-SHA256 10000.
Anahtarlar, token’lar ve tanımlayıcılar:
- PEM blokları (
-----BEGIN ...-----): özel anahtarlar (RSA, EC, OpenSSH, PKCS #8), parola korumalı özel anahtarlar, açık anahtarlar, X.509 sertifikaları ve sertifika istekleri - ASCII zırhlı OpenPGP blokları: şifreli mesajlar (
BEGIN PGP MESSAGE), anahtar blokları ve imzalar - OpenSSH açık anahtarları (
ssh-rsa,ssh-ed25519,ecdsa-sha2-...) - JSON Web Token’lar: başlığın kodu çözülerek
algvetypalanları gösterilir;encalanı içeren beş parçalı bir token ise şifreli bir JWE’dir - UUID’ler ve sürümleri (hash değil, tanımlayıcıdır)
Kodlamalar, yalnızca daha belirgin bir format eşleşmediğinde:
- Hex, Base32, Base64 ve Base64url (kodu çözülmüş uzunluk bayt cinsinden gösterilir) ile URL (yüzde) kodlaması.
- Kodu çözülmüş uzunluğu 16 baytın katı olan hex veya Base64 veriler, AES gibi bir blok şifrenin çıktısı olabilir; uzunluk 128, 256, 384 veya 512 bayt ise RSA ile şifrelenmiş veri ya da bir imza da olabilir. 16, 20, 28, 32, 48 veya 64 baytlık Base64 ya da Base32 veriler, ham bir MD5, SHA-1 veya SHA-2 hash’i olabilir.
Tanımlamanın söyleyemeyecekleri
- %100 kesinlikle tam algoritma. 64 hex karakterlik bir dizi SHA-256 veya SHA3-256 olarak raporlanır, ancak BLAKE2s ve diğer 256 bit hash’ler de tıpatıp aynı görünür. MD5, MD4 ve NTLM hash’lerinin hepsi 32 hex karakterdir.
- Bir veri bloğunu hangi şifrenin şifrelediği. Şifreli veri rastgele görünür. Uzunluğu yalnızca seçenekleri daraltır; bu yüzden AES veya RSA bir olasılıktır, asla kesinlik değildir.
- Anahtar gücü. Bir bcrypt hash’i ön ekinde maliyet faktörünü gösterir (
$2y$10$= maliyet 10), ancak parolanın kendi gücünü göstermez. - Tuzlanmış olup olmadığı. Modern parola hash’leri (bcrypt, Argon2) her zaman tuzlanmıştır; eskiler (ham MD5/SHA) tuzlanmış olabilir de olmayabilir de.
- Düz metin. Tanımlama hash’i geri çevirmez; kırma ayrı bir süreçtir ve yalnızca kendi verileriniz üzerinde yasaldır.
Tanımlayıcı yanıldığında
- Özel ön ekli token’lar. Uygulamalar bazen bir hash’i kendi ön ekiyle sarar; önce bu sarmalayıcıyı kaldırın.
- Çift kodlama. İkili bir hash’in hex gösterimi tekrar Base64 ile kodlandığında yanlış tanımlanır. Kodu bir kez çözüp yeniden kontrol edin.
- Alışılmadık uzunluklar. Kırpılmış hash’ler (örneğin kimlik olarak kullanılan bir SHA-256’nın ilk 16 karakteri) düz hex veri olarak görünür, çünkü bu uzunluk yukarıdaki tablodaki hiçbir hash uzunluğuyla eşleşmez.
- Aynı anda birden fazla değer. Kontrol tek bir değeri okur. Bir hash listesi yapıştırırsanız yalnızca ilk satır kontrol edilir; diğer değerleri tek tek yapıştırın.
Kullanım örnekleri
- Güvenlik denetimleri: bir kripto geçişi öncesinde kod tabanındaki hash türlerini kataloglamak.
- CTF yarışmaları: bilinmeyen bir veri bloğuna hızlı ilk bakış.
- Olay müdahalesi: sızan kimlik bilgilerinin formatını belirlemek.
- Framework hata ayıklama: bir kütüphanenin hangi kodlamayı ürettiğini bulmak.
Etik hatırlatması
Bir hash formatını belirlemek pasif bir araştırmadır. Başkasının hash’ini izinsiz kırmak çoğu yargı bölgesinde bilgisayarların kötüye kullanımıyla ilgili yasaları ihlal eder. Yalnızca size ait olan veya analiz etme yetkiniz bulunan hash’ler üzerinde çalışın.
Sık Sorulan Sorular
Kısmen: MD5, 32 hex karakterdir; SHA-1 ise 40. Her ikisi aynı uzunluk aralığındaysa yalnızca hash değerine bakarak ayırt edemezsiniz. Genellikle bağlam (veritabanı sütun adı, framework varsayılan ayarları veya sızdırılmış şema) sonucu belirler.
Hayır. Yalnızca tanımlama yapar. Bir hash’i tersine çevirmek veya şifreli metni çözmek için ayrı araçlar (ve anahtar ya da kırma için gerekli hesaplama kaynakları) gerekir ve bu işlem yalnızca kendi materyaliniz üzerinde yasaldır.
Argon2id (veya yüksek maliyet faktörlü bcrypt) güncel öneridir. PBKDF2-SHA256 ve scrypt hâlâ kabul edilebilir. Düz MD5, SHA-1 veya tuzlanmamış SHA-256 ise parola saklamak için güvenli değildir.
Hayır. Yapıştırdığınız değer format kontrolü için sunucumuza gönderilir, ancak hiçbir veritabanında saklanmaz ve sayfa bağlantısına eklenmez. İki adım arasında bu tarayıcı sekmesinde tutulur ve “Yeniden başla” düğmesi bu değeri siler.
İlgili Araçlar
Sayıdan Harfe Şifre
Bulmacalar, bilmeceler ve kaçış odası ipuçları için A=1, B=2 şifresiyle (A1Z26) sayıları harflere, harfleri sayılara çevirin.
Hash Oluşturucu
Kontrol toplamları ve karşılaştırmalar için kopyalamaya hazır özetlerle, metinden MD5, SHA-1, SHA-256, SHA-384, SHA-512 ve CRC32 hash değerleri oluşturun.
Checksum Doğrulayıcı
Herhangi bir dosyanın veya metnin MD5, SHA-1, SHA-256, SHA-384, SHA-512 veya CRC-32 checksum değerini hesaplayın ve yayıncının verdiği değerle karşılaştırarak eşleşip eşleşmediğine dair net bir sonuç alın.
Dosya Hash Hesaplayıcı
Yapıştırdığınız metnin veya dosya içeriğinin MD5, SHA-1, SHA-256 ve SHA-512 hash değerlerini hesaplayarak indirmeleri ve dosya bütünlüğünü doğrulayın.
CSR Oluşturucu
PEM kodlu bir sertifika imzalama isteği ve eşleşen RSA özel anahtarı oluşturun. Ortak adı, kuruluş alanlarını ve anahtar boyutunu (2048, 3072 veya 4096 bit) belirtin.
Sezar Şifreleyici
Sezar şifresiyle metin şifreleyin ve çözün. 1-25 arası tüm kaydırmaları destekler, ROT13 özel durumunu içerir, noktalama işaretlerini ve büyük/küçük harfleri korur.
Araç diğer dillerde mevcuttur
- 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]
- Versleutelingsidentifier [NL]
- Krypteringsidentifierare [SV]
- ตัวระบุการเข้ารหัส [TH]
- Encryption Identifier [EN]
- Identificatore di Crittografia [IT]
- Идентификатор шифрования [RU]
- 加密标识符 [ZH]