PDFResim
Rehberler
Metin5 dk okuma

Hash Nedir? SHA-256 ve MD5 Arasındaki Fark

Bir dosya indirdiğinizde sayfada "SHA-256: a3f5..." gibi uzun bir karakter dizisi görmüşsünüzdür. Bu bir şifre değil, dosyanın parmak izidir. Hash fonksiyonları, herhangi bir veriden sabit uzunlukta benzersiz bir özet üretir ve bu özet, verinin değişip değişmediğini anlamanın en pratik yoludur. Bu rehberde hash'in ne olduğunu, günlük hayatta nerede işinize yarayacağını ve neden artık MD5 yerine SHA-256 kullanmanız gerektiğini anlatıyoruz.

Hash Nedir? Parmak İzi Benzetmesi

Hash fonksiyonu, girdi olarak aldığı veriyi sabit uzunlukta bir özete dönüştürür. Girdi ister tek bir harf olsun ister bir gigabaytlık film, çıktı hep aynı uzunluktadır. SHA-256 için bu 64 karakterlik bir dizidir.

İki temel özelliği vardır. Birincisi, aynı girdi her zaman aynı çıktıyı verir; bu yüzden bir dosyanın hash'ini iki farklı bilgisayarda hesaplarsanız aynı sonucu alırsınız. İkincisi, girdide tek bir bitlik değişiklik bile çıktıyı tamamen değiştirir; bir noktalama işareti eklemek özeti baştan sona farklı yapar.

Bir de kritik bir özellik daha vardır: hash tek yönlüdür. Özetten geriye gidip orijinal veriyi elde edemezsiniz. Bu yüzden hash bir şifreleme yöntemi değildir; şifrelemede geri dönüş vardır, hash'te yoktur.

Günlük Hayatta Nerede İşe Yarar?

Hash'in en yaygın kullanımı dosya bütünlüğü doğrulamasıdır. Büyük bir dosya indirdiğinizde, indirmenin yarıda kalmadığını ya da dosyanın değiştirilmediğini kontrol etmek istersiniz.

Yayıncı dosyanın hash'ini sitesinde yayımlar; siz indirdiğiniz dosyanın hash'ini hesaplayıp karşılaştırırsınız. İkisi aynıysa dosya birebir aynıdır. Farklıysa ya indirme bozulmuştur ya da dosya değiştirilmiştir; her iki durumda da kullanmamalısınız.

İkinci yaygın kullanım şifre saklamadır. İyi tasarlanmış sistemler şifrenizi olduğu gibi saklamaz; hash'ini saklar. Giriş yaptığınızda girdiğiniz şifrenin hash'i hesaplanır ve kayıtlıyla karşılaştırılır. Böylece veri tabanı ele geçse bile şifreler doğrudan okunamaz.

  • İndirilen dosyanın bozulmadığını doğrulamak.
  • İki dosyanın birebir aynı olup olmadığını hızlıca anlamak.
  • Yedeklemede dosyanın değişip değişmediğini tespit etmek.
  • Sistemlerin şifreleri açık metin yerine özet olarak saklaması.

MD5 Neden Terk Edildi?

MD5 uzun yıllar en yaygın hash algoritmasıydı ve hâlâ birçok yerde karşınıza çıkar. Ancak güvenlik açısından artık kırık kabul edilir.

Sorun çakışmadır: araştırmacılar farklı iki girdinin aynı MD5 özetini üretmesini sağlamayı başardı. Bu, bir saldırganın zararsız bir dosyayla aynı özete sahip zararlı bir dosya üretebileceği anlamına gelir. Böyle bir durumda özet karşılaştırması artık bir güvence sağlamaz.

SHA-256 için bugün böyle bir pratik saldırı bilinmiyor. Bu yüzden güvenlikle ilgili her yerde SHA-256 veya daha güçlü bir algoritma kullanılmalıdır. MD5, yalnızca güvenlik iddiası taşımayan basit kontrollerde (örneğin bir dosyanın kazara bozulup bozulmadığına bakmak) hâlâ pratik olabilir.

Hash Bir Şifreleme Değildir

En sık yapılan kavram hatası budur ve pratikte yanlış kararlara yol açar. Şifreleme geri döndürülebilir: doğru anahtarla şifreli veriyi tekrar okunabilir hâle getirirsiniz. Hash ise tek yönlüdür; özetten veriye dönüş yoktur.

Dolayısıyla bir metni "hash'leyerek gizlemek" işe yaramaz, çünkü onu sonradan geri okumanız da mümkün olmaz. Gizli tutulup sonra okunması gereken veriler için şifreleme gerekir; değişmediğini doğrulamanız gereken veriler için hash.

  • Veriyi saklayıp sonra okuyacaksanız: şifreleme.
  • Verinin değişmediğini kanıtlayacaksanız: hash.
  • Şifre doğrulaması yapacaksanız: hash (uygun ve yavaş bir algoritmayla).
  • Dosya indirmesini doğrulayacaksanız: SHA-256 özeti karşılaştırması.

Dosya Hash'i Nasıl Karşılaştırılır?

Teoriyi bilmek güzel ama asıl soru pratikte ne yapacağınızdır. İndirdiğiniz bir dosyanın doğruluğunu kontrol etmek üç adımdan oluşur ve birkaç dakika sürer.

Önce yayıncının sitesinde yayımladığı özeti bulun; genellikle indirme bağlantısının yanında ya da ayrı bir doğrulama sayfasında durur. Ardından kendi bilgisayarınızda indirdiğiniz dosyanın özetini hesaplayın. Son olarak iki diziyi karşılaştırın.

Karşılaştırırken tamamına bakmanız gerekmez; ilk ve son sekiz karakterin eşleşmesi pratikte yeterli bir kontroldür, çünkü tek bir bitlik fark özetin tamamını değiştirir. Yine de kritik dosyalarda kopyala-yapıştır ile tam karşılaştırma yapmak daha güvenlidir.

Özetler tutmuyorsa dosyayı kullanmayın. İki olasılık vardır: indirme bozulmuştur (yeniden indirin) ya da dosya değiştirilmiştir (kaynağı sorgulayın). İkisi de dosyayı çalıştırmamak için yeterli sebeptir.

Sık sorulan sorular

Hash'ten orijinal veriyi geri elde edebilir miyim?

Hayır, hash tek yönlüdür ve bu tasarım gereğidir. Kısa ve yaygın girdiler önceden hesaplanmış tablolardan bulunabilir, ama bu geri dönüş değil, tahmin etmedir; uzun ve rastgele girdilerde işe yaramaz.

İki farklı dosyanın hash'i aynı olabilir mi?

Teorik olarak mümkündür ve buna çakışma denir. SHA-256 için pratikte bilinen bir yol yoktur; MD5 için ise vardır ve bu yüzden MD5 güvenlik amaçlı kullanılmamalıdır.

Dosyamın hash'ini hesaplarken dosya sunucuya gider mi?

pdfresim.com'daki Hash Hesaplayıcı metin üzerinde tarayıcınızda çalışır; girdiğiniz içerik sunucuya gönderilmez. Bu tür işlemlerde kullandığınız aracın nerede çalıştığını bilmek iyi bir alışkanlıktır.

Hash uzunluğu neden hep aynı?

Algoritmanın tasarımı böyledir: girdi ne kadar büyük olursa olsun çıktı sabit uzunluktadır. SHA-256 her zaman 64 karakterlik bir dizi üretir; bu, karşılaştırmayı ve saklamayı kolaylaştırır.

Hangi algoritmayı seçmeliyim?

Güvenlikle ilgili her durumda SHA-256 kullanın. MD5'i yalnızca güvenlik iddiası taşımayan basit bütünlük kontrollerinde tercih edebilirsiniz; yeni bir sistem tasarlıyorsanız hiç kullanmayın.

İlgili ücretsiz araçlar