Şifreleme Tanımlayıcısı
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
Deseni örneğinizle eşleşen tüm formatlar sonuçta listelenir.
-
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 kullandığı imza desenleri
Uzunluğa dayalı (onaltılık (hex) kodlanmış hash’ler için):
| Uzunluk (hex karakter) | Olarak tanımlanır |
|---|---|
| 32 | MD5 |
| 40 | SHA-1 |
| 64 | SHA-256 |
| 128 | SHA-512 |
56 hex karakterli SHA-224 veya 96 hex karakterli SHA-384 gibi diğer uzunluklar hash olarak tanınmaz (56 veya 96 karakterli hex dizileri bunun yerine Base64 olarak sınıflandırılır).
Ön eke dayalı (yalnızca bcrypt ön ekleri tanınır):
$2a$$2b$$2y$bcrypt
Diğer crypt tarzı ön ekler ($1$, $5$, $6$, $argon2i$, $argon2id$, $pbkdf2$) tanınmaz.
Kodlamaya dayalı:
- Tüm karakterler
[A-Za-z0-9+/=]içindeyse ve uzunluk 4’ün katıysa: büyük olasılıkla Base64. .ile ayrılmış ve her biri[A-Za-z0-9_-]karakterlerinden oluşan üç bölüm: JWT.
PEM sarmalayıcılar, OpenSSH ssh-rsa/ssh-ed25519 blokları ve - veya _ içeren Base64url dizileri algılanmaz.
Tanımlamanın söyleyemeyecekleri
- %100 kesinlikle tam algoritma. 64 hex karakterlik bir dizi SHA-256 olarak raporlanır, ancak SHA3-256 veya BLAKE2s de olabilir; yalnızca şifreli metne bakılarak bunlar ayırt edilemez. NTLM hash’leri (onlar da 32 hex karakterdir) MD5 ile aynı görünür.
- 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 sarıldığında yanlış tanımlanır. Bir kez kod çözüp yeniden çalıştırmayı deneyin.
- Alışılmadık uzunluklar. Kırpılmış hash’ler (örneğin SHA-256’nın ilk 16 karakterinin kimlik olarak kullanılması), karakter ve uzunluk kuralları çakıştığı için “Base64” olarak gösterilir.
- Çerçeveli veya sarmalanmış formatlar. PEM blokları, OpenSSH anahtarları ve Django’nun
pbkdf2_sha256$...formatı tanınmaz; sarmalayıcıyı veya ön eki kaldırıp yeniden deneyin ya da özel bir ayrıştırıcı kullanı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.
İlgili Araçlar
Base64 Dosya Kodlayıcı
Herhangi bir dosyayı (PDF, ZIP, görüntü, çalıştırılabilir dosya) JSON, e-posta, YAML veya data URI içine gömmek için Base64 metne kodlayın. Yerel çalışır, yükleme yok.
Atbash Şifre Kodlayıcı
Metni Atbash şifresiyle kodlayın veya çözün; A-Z harflerini Z-A ile eşleyen İbrani kökenli bir yerine koyma şifresidir. Aynı işlem hem şifreler hem çözer.
Base58 Kodlayıcı ve Çözücü
UTF-8 metnini veya onaltılık baytları kodlayın; Base58 verisini Bitcoin, Ripple ya da Flickr alfabesiyle güvenle çözün.
A1Z26 Şifre Kodlayıcı
A1Z26 şifresiyle (A=1, B=2, ... Z=26) metni kodlayın veya sayı dizisini özel ayraçla tekrar harflere çözün.
Base85 Kodlayıcı ve Çözücü
PostScript ve PDF dosyalarının içinde kullanılan Adobe Ascii85 biçimiyle Base85 kodlayın ve çözün. İkili veri için Base64'ten daha kompakttır.
bcrypt Oluşturucu
Düz metin paroladan bcrypt hash üretin. 4 ile 13 arasında ayarlanabilir cost faktörü; Laravel, Django, Node ve PHP ile uyumludur.
Araç diğer dillerde mevcuttur
- Identificador de Cifrado [ES]
- ตัวระบุการเข้ารหัส [TH]
- Versleutelingsidentifier [NL]
- Identyfikator szyfrowania [PL]
- 암호화 식별자 [KO]
- Identificateur de chiffrement [FR]
- Krypteringsidentifierare [SV]
- Identifikasi Enkripsi [ID]
- Identificador de Criptografia [PT]
- Verschlüsselungs-Identifikator [DE]
- 加密标识符 [ZH]
- 暗号化識別子 [JA]
- Encryption Identifier [EN]
- Mã định danh mã hóa [VI]
- معرّف التشفير [AR]
- Identificatore di Crittografia [IT]
- Идентификатор шифрования [RU]