Dosya checksum (SHA-256, MD5) nasıl doğrulanır?

Checksum doğrulamak için indirdiğin dosyanın hash'ini yayıncının kullandığı algoritmayla (genelde SHA-256) hesaplar ve indirme sayfasındaki değerle karşılaştırırsın: her karakter aynıysa elindeki kopya aslıyla birebir aynıdır. Bunu Windows, Mac ve Linux'taki hazır komutlarla ya da bu sayfadaki araçta dosyayı seçip beklenen değeri yapıştırarak yapabilirsin.

5 dk okuma

Hızlı yol

Checksum bir dosyanın parmak izidir. Tek bir bit değişse parmak izi tamamen değişir; bu yüzden değerlerin eşleşmesi iki dosyanın bayt bayt aynı olduğunu kanıtlar. İşletim sistemi imajları, modem ve cihaz yazılımları (firmware), şifre yöneticileri, geliştirici araçları ve sürücüler indirme bağlantısının yanında tam da bunun için checksum yayınlar.

Aşağıdaki araçta dosyayı seç ya da kutuya bırak. Araç MD5, SHA-1, SHA-256, SHA-384 ve SHA-512'yi aynı anda hesaplar. Yayınlanan değeri Karşılaştır alanına yapıştır; araç hangi algoritmanın eşleştiğini ya da hiçbirinin eşleşmediğini söyler. Büyük harfler, boşluklar ve sha256: gibi ön ekler dikkate alınmaz. Dosya cihazında okunur, hiçbir yere yüklenmez.

Burada dene: Dosya checksum hesaplama

Aracın tam sayfasını aç

Hangi algoritma? Uzunluğa bak

İndirme sayfaları hangi hash'i verdiğini her zaman yazmaz. Onaltılık (hex) değerin uzunluğu bunu ele verir:

AlgoritmaHex karakter sayısıKasıtlı değiştirmeye karşı hâlâ güvenli mi?
MD532Hayır, çakışma üretmek kolay
SHA-140Hayır, 2017'de pratik çakışma gösterildi
SHA-25664Evet, bugünkü standart
SHA-38496Evet
SHA-512128Evet

Checksum değerini nerede bulursun

Değer genelde indirme bağlantısının hemen yanında ya da altında, SHA256, Checksum, Hash, Doğrulama ya da Verify your download gibi bir başlıkla durur. Linux dağıtımları SHA256SUMS adlı ayrı bir metin dosyası verir; içinde her satırda bir hash ve dosya adı yazar. GitHub'daki projeler sürüm (release) sayfasına checksums.txt ya da dosya adının sonuna .sha256 eklenmiş küçük dosyalar koyar.

Firmware ve sürücü sayfalarında değer bazen sadece MD5 olarak verilir; kazara bozulmayı yakalamak için bu yeterlidir. Hiç checksum bulamıyorsan dosyanın dijital imzasına bak: Windows'ta dosyaya sağ tık > Özellikler > Dijital İmzalar sekmesi yayıncıyı gösterir.

Windows, Mac ve Linux'ta checksum doğrulama

Her büyük sistemde hazır bir komut var. Dosyanın bulunduğu klasörde bir terminal aç ve dosya adını kendi dosyanınkiyle değiştir.

  • Windows PowerShell: Get-FileHash .\dosya.iso varsayılan olarak SHA-256 gösterir. Diğerleri için -Algorithm MD5 ya da -Algorithm SHA512 ekle. PowerShell metinleri büyük küçük harf ayırmadan karşılaştırır; (Get-FileHash .\dosya.iso).Hash -eq "beklenen değer" yazarsan True ya da False alırsın.
  • Windows Komut İstemi: certutil -hashfile dosya.iso SHA256. Gerekirse SHA256 yerine MD5, SHA1 ya da SHA512 yaz.
  • macOS Terminal: SHA-256 için shasum -a 256 dosya.dmg, SHA-512 için shasum -a 512, MD5 için md5 dosya.dmg.
  • Linux: sha256sum dosya.iso, sha512sum ya da md5sum. Yayıncı bir SHA256SUMS dosyası veriyorsa onu aynı klasöre koyup sha256sum -c SHA256SUMS çalıştır: listedeki her dosya için OK ya da FAILED yazar.
  • Tarayıcısı olan her cihaz: bu sayfadaki araç. Terminal açamadığın kısıtlı iş bilgisayarlarında, Chromebook'larda ve telefonlarda işe yarar.

Eşleşme neyi kanıtlar, neyi kanıtlamaz

Eşleşme, dosyanın checksum'ın hesaplandığı dosyayla birebir aynı olduğunu kanıtlar. En sık sorunları yakalar: yarıda kesilen indirme, bozuk USB bellek ya da SD kart, sorunlu bir yansı (mirror) sunucusu ya da dosyayı değiştiren bir proxy.

Saldırgan hem dosyayı hem de checksum'ın yazdığı sayfayı kontrol ediyorsa dosyanın güvenilir olduğunu kanıtlamaz. İndirme sunucusuna sızan biri dosyayı ve yayınlanan hash'i birlikte değiştirebilir. Bu yüzden ciddi projeler checksum dosyalarını da imzalar (örneğin yanında .gpg imzası olan bir SHA256SUMS dosyası) ya da kurulum dosyasının kendisini imzalar; Windows bunu doğrulanmış yayıncı olarak gösterir, macOS da notarization ile kontrol eder. Önemli yazılımlarda checksum'ı dosyadan farklı bir kaynaktan al: indirdiğin yansıdan değil, projenin ana sitesinden, sürüm notlarından ya da resmi hesabından.

MD5 ve SHA-1 kazara bozulmayı yakalamak için hâlâ yeterlidir, çünkü rastgele bir hasar çakışma üretmez. Kasıtlı değiştirmeye karşı sadece SHA-256 ya da daha güçlüsüne güven.

Checksum eşleşmezse

  • Aynı algoritmayı karşılaştırdığından emin ol. SHA-1 değeri hiçbir zaman SHA-256 sonucuyla eşleşmez. Araç bu ihtimali elemek için beş hash'in hepsiyle birden karşılaştırır.
  • Doğru dosyaya baktığından emin ol. İndirme sayfalarında genelde birkaç sürüm olur (x64, ARM, kurulum, taşınabilir); her birinin checksum'ı ayrıdır.
  • Değerin tamamını kopyala. Bir karakteri eksik kopyalanan checksum eşleşmez. Yapıştırdığın değerdeki boşlukları ve satır sonlarını araç yok sayar.
  • Dosyayı yeniden indir; tercihen yansıdan değil resmi kaynaktan ve sağlam bir bağlantıyla. Eksik inen dosya, eşleşmemenin en sık sebebidir.
  • Resmi siteden yeniden indirdikten sonra da eşleşmiyorsa dosyayı kullanma, durumu yayıncıya bildir.
  • Dosya yerine metnin hash'ini alıyorsan, sondaki bir satır sonu ya da farklı bir karakter kodlaması sonucu değiştirir. İndirme sayfalarındaki checksum'lar her zaman dosyanın kendisinden hesaplanır.

Büyük dosyalar ve gizlilik

Bazı online checksum araçları dosyanı bir sunucuya yükler. 4 GB'lık bir disk imajı için bu yavaştır; özel belgeler, yedekler ya da yayınlanmamış sürümler için de kötü bir fikirdir. Bu sayfadaki araç dosyayı tarayıcıda doğrudan diskinden okur; SHA hash'lerini tarayıcının yerleşik Web Crypto motoru hesaplar ve hiçbir şey dışarı gönderilmez.

Birkaç yüz megabaytlık dosyalar çoğu bilgisayar ve telefonda sorunsuz çalışır. Dosyanın tamamı belleğe okunduğu için birkaç gigabaytlık çok büyük imajlar bir tarayıcı sekmesinin kullanabileceği belleği aşabilir; onlar için yukarıdaki komut satırı araçları daha uygundur.

Adım adım

  1. Dosyayı seçDosya seç'e tıkla ya da indirdiğin dosyayı kutuya bırak. Bu sayfada girdi zaten Dosya olarak ayarlı.
  2. Hash'leri bekleMD5, SHA-1, SHA-256, SHA-384 ve SHA-512 birlikte görünür. Büyük dosyalarda okuma ilerlemesi gösterilir.
  3. Yayınlanan checksum'ı yapıştırDeğeri indirme sayfasından kopyala ve Karşılaştır alanına yapıştır.
  4. Sonucu okuEşleşti, dosyanla uyuşan algoritmayı gösterir. Eşleşme yok ise dosya farklıdır ve yeniden indirilmelidir.

Sık sorulan sorular

Checksum ile hash arasındaki fark ne?

Günlük kullanımda burada aynı şeyi anlatırlar: dosyanın içeriğinden hesaplanan kısa bir değer. Hash genel terimdir; checksum, verinin sağlam olup olmadığını kontrol etmek için kullanılmasını anlatır.

İndirilen dosyayı doğrulamak için MD5 yeterli mi?

Kazara bozulmayı yakalamak için evet. Birinin dosyayı bilerek değiştirmesine karşı hayır; yayıncı veriyorsa SHA-256 kullan.

Checksum'ın büyük ya da küçük harf olması fark eder mi?

Hayır. Hex değerlerde harf büyüklüğü önemsizdir. Araç karşılaştırırken bunu dikkate almaz; Büyük harf seçeneği sadece sonuçların nasıl gösterileceğini değiştirir.

Burada kontrol ettiğim dosya bir yere yükleniyor mu?

Hayır. Dosya tarayıcında okunur ve hash'i orada hesaplanır, cihazından çıkmaz. Araç ücretsizdir; sayfa bir kez açıldıktan sonra internetsiz de çalışır.

Windows'ta komut yazmadan checksum kontrol edebilir miyim?

Evet. Bu sayfayı tarayıcıda aç, dosyayı kutuya sürükle ve indirme sayfasındaki değeri Karşılaştır alanına yapıştır. Ek program kurman ya da PowerShell açman gerekmez.

Telefonda checksum doğrulayabilir miyim?

Evet. Bu sayfayı telefonun tarayıcısında aç, dosyayı İndirilenler'den seç ve beklenen değeri yapıştır. Çok büyük dosyalarda telefonun belleği sınır olabilir.

Aynı metin için iki araç neden farklı hash veriyor?

Genelde sondaki bir satır sonu ya da farklı karakter kodlaması yüzünden. Bu araç kutudaki metni olduğu gibi UTF-8 olarak hash'ler. Dosyalarda böyle bir belirsizlik yoktur.