Hash Oluşturucu
Metni MD5, SHA-1, SHA-256, SHA-384 ve SHA-512 ile aynı anda hash'leyin; hex ya da Base64 olarak alın. Metin UTF-8 okunur ve tarayıcınızdan çıkmaz.
UTF-8 metin, en fazla 500.000 karakter. Hiçbir şey sunucuya gönderilmez.
Yalnızca hex çıktısı için geçerlidir.
Metniniz tarayıcınızda hash'lenir, cihazınızdan çıkmaz.
| Algoritma | Hash | Kopyala |
|---|---|---|
MD5Parola ve imza için güvenli değil | ||
SHA-1Parola ve imza için güvenli değil | ||
SHA-256 | ||
SHA-384 | ||
SHA-512 |
MD5 ve SHA-1'de bilinen çakışmalar var: aynı hash'i veren farklı girdiler gösterilmiştir. Bunları parola, imza ya da güvenlik kontrolü için kullanmayın. Sade bir sağlama toplamı ya da önbellek anahtarı olarak sorun değildir.
Hash şifreleme değildir. Özgün metne geri çevrilemez; yalnızca tahmin edilen bir metnin hash'iyle karşılaştırılabilir.
Aynı metin, yalnızca her bayt aynıysa aynı hash'i verir: satır sonları (LF ya da CRLF), sondaki satır sonu veya boşluk ve metin kodlaması (bu araç UTF-8 kullanır) sonucu değiştirir.
Nasıl çalışır
Hash fonksiyonu herhangi bir bayt dizisini alır ve sabit boyutlu bir değer, yani özet (digest) döndürür. Aynı baytlar her zaman aynı özeti verir; tek bir baytın değişmesi ise ilişkisiz görünen bir özet üretir. Anahtar ve gizli bilgi olmadığından çözülecek bir şey de yoktur: özet, girdiye geri çevrilemez.
Sayfa metninizi bayta çevirir (UTF-8, aşağıda), bu baytları beş algoritmayla aynı anda hash'ler ve her sonucu hex ya da Base64 olarak gösterir.
| Algoritma | Özet boyutu | Hex karakter | Base64 karakter | Durum |
|---|---|---|---|---|
| MD5 | 16 bayt | 32 | 24 | Çakışma gösterildi |
| SHA-1 | 20 bayt | 40 | 28 | Çakışma gösterildi |
| SHA-256 | 32 bayt | 64 | 44 | Böyle bir zayıflık bilinmiyor |
| SHA-384 | 48 bayt | 96 | 64 | Böyle bir zayıflık bilinmiyor |
| SHA-512 | 64 bayt | 128 | 88 | Böyle bir zayıflık bilinmiyor |
Her biri nasıl hesaplanır. Web Crypto MD5 sunmaz; bu yüzden MD5, RFC 1321'e uygun olarak sayfanın kendi kodunda yazılmıştır: bölüm 3.1 ve 3.2'deki dolgu, bölüm 3.4'teki dört turda 64 adım ve sinüs fonksiyonundan türetilen sabitler. Uygulama, RFC'nin kendi test paketine (ek A.5) ve her dolgu sınırı çevresindeki girdilerde Node'un MD5'ine karşı doğrulanır. SHA-1, SHA-256, SHA-384 ve SHA-512 (FIPS 180-4) tarayıcının crypto.subtle.digest işlevinden gelir. Web Crypto yalnızca güvenli sayfalarda (HTTPS) kullanılabilir ve çok eski tarayıcılarda yoktur; kullanılamıyorsa SHA satırları bunu söyler, MD5 yine çalışır.
Metin UTF-8 olarak bayta çevrilir. ASCII dışındaki harfler birden fazla bayt tutar ve özet tam olarak bu baytlara bağlıdır. Sayfa boşlukları kırpmaz, satır sonlarını değiştirmez ve Unicode normalleştirmesi uygulamaz. Eşi olmayan tek bir vekil (surrogate) karakter UTF-8 ile yazılamaz; hash'lenmeden önce U+FFFD ile değiştirilir.
Çıktı. Hex varsayılan olarak küçük harftir, büyük harf seçeneği vardır. Base64, ham özet baytlarının RFC 4648 bölüm 4 biçimindeki, dolgulu yazımıdır. Boş metin geçerlidir ve sıfır baytın hash'ini verir. Girdi 500.000 karaktere kadar olabilir.
Örnekler
Aşağıdaki değerlerin hepsi aracın testlerinde doğrulanır.
| Metin | Algoritma | Hex özet |
|---|---|---|
| (boş) | MD5 | d41d8cd98f00b204e9800998ecf8427e |
| (boş) | SHA-1 | da39a3ee5e6b4b0d3255bfef95601890afd80709 |
| (boş) | SHA-256 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 |
| a | MD5 | 0cc175b9c0f1b6a831c399e269772661 |
| abc | MD5 | 900150983cd24fb0d6963f7d28e17f72 |
| abc | SHA-1 | a9993e364706816aba3e25717850c26c9cd0d89d |
| abc | SHA-256 | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad |
| message digest | MD5 | f96b697d7cb7938d525a2f31aaf161d0 |
| abcdefghijklmnopqrstuvwxyz | MD5 | c3fcd3d76192e4007dfb496cca67e13b |
MD5 satırları RFC 1321 test paketindendir; pakette yedi girdi var, kalan ikisi (62 karakterlik harf-rakam dizisi ve 80 rakamlık dizi) de test edilir. Testler ayrıca abc için SHA-384 ve SHA-512 hash'lerini de içerir.
Bir özet, iki yazım. abc metninin MD5'i küçük harfli hex'te 900150983cd24fb0d6963f7d28e17f72, büyük harfli hex'te 900150983CD24FB0D6963F7D28E17F72, Base64'te kAFQmDzST7DWlj99KOF/cg== olur. Üçü de aynı 16 bayttır.
Türkçe karakter, daha çok bayt. UTF-8'de ş 1 değil 2 baytır; ı ve İ de ikişer bayttır, ASCII'deki i ve I ise birer bayt. Bu yüzden şifre 5 karakter ama 6 bayttır ve araç "Girdi boyutu: 6 bayt (UTF-8)" yazar; sifre 5 bayttır ve bambaşka bir hash verir. Aracın testindeki şğüİıß 😀 metni altı iki baytlık harf, bir baytlık boşluk ve dört baytlık emojiden oluşur: 17 bayt. Aynı metin UTF-16 ya da Latin-1 olarak yazılırsa başka bir bayt dizisi olur ve hash de başka çıkar.
Gözle görünmeyen farklar. a, satır sonu (LF), b 3 bayttır. Satır sonundan önce satırbaşı (Windows satır sonu, CRLF) gelirse 4 bayt olur; sonuna bir satır sonu eklenirse de 4 bayt. Üçü de farklı SHA-256 hash'i verir. Benzer biçimde tek karakter olarak yazılmış é 2 bayt, e ve ardından birleştirici vurgu (U+0301) 3 bayttır; ikisi aynı görünür ama hash'leri farklıdır.
Dikkat edilecekler
- Hash şifreleme değildir. MD5'i "çözdüğünü" iddia eden bir hizmet, hash'i yalnızca daha önce bilinen metinlerin hash'leriyle karşılaştırabilir; hiçbir şeyi geri çevirmez. Veriyi gizleyip geri almak istiyorsanız gerçek şifreleme gerekir; o başka bir şeydir.
- Saldırganın yararlanabileceği yerde MD5 ya da SHA-1 kullanmayın. İmza, sertifika kontrolü ve kötü niyetli tarafa karşı bütünlük denetimi dışarıda kalır. Sade sağlama toplamı ve önbellek anahtarı sorun değildir.
- Parolayı hızlı bir hash'le saklamayın. Bu bir tavsiyedir, aracın özelliği değil: tasarımı gereği yavaş ve tuzlu çalışan, parolalar için yapılmış bir hash fonksiyonu kullanın. SHA-256 ve daha büyükleri de parola hash'i değildir.
- Aynı görünen metin, farklı hash. Satır sonu (LF ile CRLF), sondaki satır sonu ya da boşluk ve metin kodlaması sonucu değiştirir. Değer tutmadığında önce bayt sayılarını karşılaştırın.
- Yalnızca metin. Burada dosya modu yoktur. İkili bir dosyayı metin kutusuna yapıştırmak baytlarını korumaz; sonuç dosyanın sağlama toplamı olmaz.
- Hex'i eşitleyerek karşılaştırın. Büyük ve küçük harfli hex aynı değerdir ama düz metin karşılaştırması bunu bilmez.
- Gizlilik. Metniniz tarayıcınızda hash'lenir, sunucuya gönderilmez.
Sık sorulan sorular
Son güncelleme: 11.10.2026
İlgili araçlar
Metni Base64'e kodlayın ya da geri çözün. Metin UTF-8 olarak dönüştürülür, bu yüzden ş, ğ ve emoji sorunsuz çalışır. URL güvenli alfabe, dolgu ve satır sonu seçilebilir.
Uzunluğu ve karakter türlerini seçin; tarayıcınızın kriptografik rastgele kaynağıyla bir ya da birkaç şifre üretin, entropiyi görün. Hiçbir şey cihazınızdan çıkmaz.