Nasıl kullanılır
- Tek bir hash yapıştırın. 0x, sha256= veya sha384- gibi önekleri kaldırın, ancak parola hash'lerini baştaki $, { veya * dâhil olmak üzere eksiksiz bırakın.
- Sonucu okuyun: önce algılanan biçim ve bit cinsinden boyutu, ardından olası algoritmalar gösterilir; en olası olanlar "En olası" olarak işaretlenir. Dizede yer alıyorsa bcrypt maliyet faktörü ya da sha256crypt, sha512crypt ve PBKDF2 için tur sayısı da gösterilir.
- MD5, SHA-1, SHA-256, SHA-512, CRC-32 ve CRC-32C adaylarında "Aracı aç" sizi ilgili hesaplayıcıya götürür.
- Orijinal metni biliyor veya tahmin ediyorsanız, hangi algoritmanın hash'i yeniden ürettiğini görmek için metni "Metinle doğrula" alanına yazın.
Bir hash nasıl tanımlanır?
Her hash algoritmasının sabit bir çıktı boyutu vardır ve hex her bayt için iki karakter kullanır; bu nedenle bir hex dizesinin uzunluğu en güçlü ipucudur. Araç ayrıca karakter kümesini denetler ve parola hash biçimlerinin başa koyduğu önekleri arar.
| Hex karakter | Bit | Yaygın algoritmalar |
|---|---|---|
| 8 | 32 | CRC-32, CRC-32C ve Adler-32 |
| 32 | 128 | MD5, NTLM ve MD4 |
| 40 | 160 | SHA-1 ve RIPEMD-160 |
| 56 | 224 | SHA-224 ve SHA3-224 |
| 64 | 256 | SHA-256, SHA3-256, BLAKE2s ve Keccak-256 |
| 96 | 384 | SHA-384 ve SHA3-384 |
| 128 | 512 | SHA-512, SHA3-512, BLAKE2b ve Whirlpool |
Yalnızca uzunluğa bakarak kesin karar verilemez, çünkü iyi bir hash rastgele veri gibi görünür ve algoritmasına dair hiçbir işaret taşımaz. 32 karakterlik bir değer MD5, MD4 veya Windows'un hesap parolaları için kullandığı NTLM (parolanın UTF-16LE biçimindeki MD4 hash'i) olabilir. Bu yüzden araç adayları ne kadar yaygın olduklarına göre sıralar: önce MD5 gelir; ancak hash, bazı Windows parola dökümü araçlarının yazdırdığı gibi tamamen büyük harfliyse önce NTLM gelir. Benzer şekilde Ethereum'un Keccak-256'sı ile standartlaştırılmış SHA3-256 yalnızca dolgu açısından farklıdır, ancak ikisi de 64 hex karakteri verir.
Base64 özetleri ve parola hash biçimleri
Bazı sistemler özetleri hex yerine Base64 ile yazar: 16 bayt için 24 karakter (Content-MD5 başlığındaki gibi MD5), SHA-1 için 28, SHA-256 için 44, SHA-384 için 64 (Subresource Integrity özniteliklerindeki gibi) ve SHA-512 için 88. Araç uzunluğu yeniden bayta çevirir ve aynı adayları listeler. Eksik dolgu ve URL güvenli karakterler kabul edilir, ancak sha384- gibi bir öneki önce kaldırın.
Parola hash biçimleri kendilerini tanımlar: bir önek algoritmayı belirtir, tuz ve maliyet ayarları da dizenin içine yazılır. Modern olanlar tuzludur ve kasıtlı olarak yavaştır; son iki satırdaki LDAP ve MySQL biçimleri ise hızlı SHA-1 yapılarıdır ve bunlardan yalnızca {SSHA} tuz ekler.
| Başlangıç | Biçim | Genellikle bulunduğu yer |
|---|---|---|
$2a$, $2b$, $2y$ | bcrypt, her zaman 60 karakter; sonraki iki rakam maliyet faktörüdür ve bu değerdeki her artış işi iki katına çıkarır | Web çerçeveleri, PHP password_hash() |
$argon2id$ | Bellek (m), zaman (t) ve paralellik (p) ayarlarıyla Argon2id | Modern uygulamalar; OWASP tarafından önerilir |
$6$, $5$ | sha512crypt, sha256crypt; isteğe bağlı rounds= ile | Linux'ta /etc/shadow |
$y$ | yescrypt | Birçok güncel Linux dağıtımında /etc/shadow |
$1$, $apr1$ | md5crypt, Apache MD5 | Eski Unix sistemleri, .htpasswd |
pbkdf2_sha256$ | Yineleme sayısıyla birlikte PBKDF2-SHA256 | Django |
{SHA}, {SSHA} | SHA-1, tuzlu SHA-1 | LDAP dizinleri |
* ve 40 hex basamağı | MySQL 4.1+ PASSWORD() | MySQL kullanıcı tabloları |
Tanımlamak kırmak değildir
Hash tek yönlüdür. Tanımlayıcı yalnızca dizenin biçimine bakar: girdiyi ortaya çıkaramaz, şifresini çözemez veya bir yerde arayamaz; bir sunucuya veya çevrimiçi bir veritabanına da hiçbir şey göndermez. Bir girdiyi bulmanın tek yolu adayları tahmin edip her birinin hash'ini hesaplamaktır; hashcat ve John the Ripper gibi parola kurtarma araçları da algoritmayı öğrendikten sonra tam olarak bunu yapar. bcrypt ve Argon2 gibi tuzlu, yavaş biçimler bu tahmin sürecini pahalı hâle getirmek için vardır. Yalnızca üzerinde çalışma yetkiniz olan hash'leri test edin.
Metinle doğrula belirli bir tahmini test eder. Yazdığınız metni UTF-8 olarak MD5, SHA-1, SHA-256, SHA-384, SHA-512, CRC-32 ve CRC-32C ile hash'ler ve hangi sonucun hash değerine eşit olduğunu söyler; hash'in büyük ya da küçük harfli hex veya Base64 olarak yazılmış olması fark etmez. Tuzlu parola hash'lerini veya HMAC'leri doğrulayamaz, çünkü bunlar ayrıca bir tuza veya gizli anahtara bağlıdır; anahtarlı bir değer için anahtarla birlikte HMAC oluşturucuyu kullanın.
Sıkça sorulan sorular
Bu araç bana orijinal metni veya parolayı söyleyebilir mi?
Hayır. Yalnızca olası algoritmanın adını verir. Hash fonksiyonları tersine çevrilemez; çevrimiçi "hash çözücüler" değeri yaygın kelimelerin ve sızdırılmış parolaların hash tablolarında arar ve bu yalnızca zayıf, tuzsuz girdilerde işe yarar.
Neden tek bir hash için birden fazla algoritma listeleniyor?
Aynı çıktı boyutuna sahip algoritmalar aynı uzunlukta ve aynı karakter kümesinde dizeler üretir; hash'in içinde de hangisinin kullanıldığına dair hiçbir kayıt yoktur. Her algoritmanın ne kadar yaygın olduğuna göre en olası aday ilk sırada işaretlenir. Kesin sonuç için hash'i bilinen bir girdiden yeniden hesaplayın.
32 karakterlik bir hex dizesi her zaman MD5 midir?
Genellikle öyledir, ama her zaman değil. NTLM, MD4, MD2 ve RIPEMD-128 de aynı uzunluğu verir; tireleri olmayan bir UUID veya rastgele bir token gibi hex olarak yazılmış her 128 bitlik değer de öyle. Kararı bağlam verir: bir Windows parola hash'i NTLM, bir dosya sağlama toplamı ise MD5 anlamına gelir.
"Metinle doğrula" neden eşleşme bulamıyor?
echo -n veya printf kullanmadıkça echo bir tane ekler), farklı boşluklar veya büyük/küçük harf, UTF-8 dışında bir kodlamayla hash'lenmiş metin, parola hash'lerinde ve HMAC'lerde olduğu gibi bir tuz veya anahtar ya da SHA-3, BLAKE2 veya NTLM gibi denetimin kapsamadığı bir algoritma.Buraya bir parola hash'i yapıştırmak güvenli mi?
Analiz tamamen tarayıcınızda çalışır ve hash iletilmez ya da saklanmaz. Yine de gerçek bir sistemden alınmış bir parola hash'i, ona sahip olan herkesin çevrimdışı tahmin denemesi yapmasına olanak tanır; bu yüzden bu tür hash'leri hassas veri olarak ele alın ve destek kayıtlarından, sohbetlerden ve ekran görüntülerinden uzak tutun.