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:
| Algoritma | Hex karakter sayısı | Kasıtlı değiştirmeye karşı hâlâ güvenli mi? |
|---|---|---|
| MD5 | 32 | Hayır, çakışma üretmek kolay |
| SHA-1 | 40 | Hayır, 2017'de pratik çakışma gösterildi |
| SHA-256 | 64 | Evet, bugünkü standart |
| SHA-384 | 96 | Evet |
| SHA-512 | 128 | Evet |
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.