Checksum nedir?
Checksum (sağlama toplamı) ya da hash, bir dosyanın her baytından hesaplanan kısa bir harf ve rakam dizisidir. Aynı dosya her zaman aynı değeri verir; tek bir bayt bile değişse ortaya bambaşka bir değer çıkar. Kısacası dosyanın içeriğinin parmak izidir.
Yazılım yayıncıları indirme bağlantılarının yanında checksum değerini paylaşır. İndirdiğiniz dosyanın değeri onlarınkiyle eşleşiyorsa, elinizdeki dosya bozuk ya da değiştirilmiş bir kopya değil, tam olarak yayınladıkları dosyadır.
İndirmeleri neden doğrulamalısınız
- Bozuk indirmeler: Kopan bir bağlantı ya da arızalanmaya başlayan bir disk, büyük bir dosyayı hiçbir hata mesajı vermeden bozabilir. Bozuk bir ISO kalıbı çoğu zaman kurulumun ortasında, nereden indirdiğinizi çoktan unuttuğunuzda sorun çıkarır.
- Değiştirilmiş dosyalar: Bir indirme sunucusunu ele geçiren saldırganlar, dosyayı içinde zararlı yazılım olan bir kopyayla değiştirebilir. 2016'da Linux Mint'in web sitesi hacklenmiş ve indirme bağlantısı arka kapı içeren bir ISO'ya yönlendirilmişti.
- Yanlış dosya: Checksum kontrolü, x64 yerine ARM sürümü ya da önbellekten gelen eski bir sürüm gibi karışıklıkları da yakalar.
Dosya hash'i çevrimiçi nasıl kontrol edilir
- İndirdiğiniz dosyayı yukarıdaki araca sürükleyin ya da tıklayıp seçin.
- İndirme sayfasındaki checksum değerini kopyalayıp beklenen değer alanına yapıştırın.
- Araç size eşleşip eşleşmediklerini söyler. MD5, SHA-1, SHA-256 ve SHA-512'yi değerin uzunluğundan kendisi anlar.
9f86d0...0a08 *ubuntu.iso gibi, checksum dosyasındaki bir satırın tamamını da yapıştırabilirsiniz; değer otomatik olarak ayıklanır.
Özel dosyalar için neden güvenli
Çevrimiçi hash hesaplayıcıların çoğu dosyanızı önce kendi sunucusuna yükler. Bu araç ise dosyayı tarayıcınızın kendi işlem gücüyle küçük parçalar halinde okur, yani hiçbir şey cihazınızdan çıkmaz. Yüklemenin bitmesini beklemezsiniz ve çok büyük dosyalar da sorunsuz çalışır.
Windows'ta MD5 veya SHA-256 hash'i nasıl kontrol edilir
Windows'ta PowerShell'in içinde hazır bir checksum aracı vardır. PowerShell'i açın (Başlat menüsünde aratabilirsiniz), dosyanın bulunduğu klasöre gidin ve şunu çalıştırın:
cd $HOME\Downloads
Get-FileHash .\ubuntu.isoBu komut varsayılan olarak SHA-256 değerini yazdırır. Diğer algoritmalar için -Algorithm MD5, -Algorithm SHA1 veya -Algorithm SHA512 ekleyin. Değeri karakter karakter okumadan beklenen değerle karşılaştırmak için şunu çalıştırın:
(Get-FileHash .\ubuntu.iso).Hash -eq "beklenen-hash-degerini-buraya-yapistirin"Eşleşiyorsa PowerShell True, eşleşmiyorsa False yazdırır. Eski Komut İstemi'nde bunun yerine certutil -hashfile ubuntu.iso SHA256 komutunu kullanın.
Mac'te MD5 veya SHA-256 hash'i nasıl kontrol edilir
Terminal'i açın (Uygulamalar > İzlenceler), dosyanın bulunduğu klasöre gidin ve şunu çalıştırın:
cd ~/Downloads
shasum -a 256 app.dmgSHA-1 veya SHA-512 için 256 yerine 1 ya da 512 yazın. MD5 için md5 app.dmg komutunu çalıştırın. Karşılaştırmayı Terminal'e bırakmak için şunu çalıştırın:
echo "beklenen-hash-degerini-buraya-yapistirin app.dmg" | shasum -a 256 -cDeğerler eşleşiyorsa app.dmg: OK yazar. Değer ile dosya adı arasında iki boşluk olduğuna dikkat edin.
Linux'ta MD5 veya SHA-256 hash'i nasıl kontrol edilir
Tüm yaygın Linux dağıtımlarında checksum araçları hazır gelir. Terminalde şunu çalıştırın:
sha256sum ubuntu.isoAynısı md5sum, sha1sum ve sha512sum ile de çalışır. Birçok proje, tüm indirmelerinin değerlerini listeleyen ve genellikle SHA256SUMS adını taşıyan bir checksum dosyası yayınlar. Bu dosyayı indirdiğiniz dosyayla aynı klasöre koyun ve şunu çalıştırın:
sha256sum -c SHA256SUMS --ignore-missingEşleşen her dosya için ubuntu.iso: OK yazar. --ignore-missing ise listede olup indirmediğiniz dosyaları atlar.
MD5, SHA-1, SHA-256 ve SHA-512 karşılaştırması
Dördü de aynı işi yapar, ancak MD5 ve SHA-1 artık bir dosyayı kasıtlı olarak taklit etmeye çalışan birine karşı güvenli değildir. Kazara oluşan bozulmaları yine de yakalarlar; birçok indirme sayfasında hâlâ yer almalarının nedeni de budur.
| Algoritma | Uzunluk | Güvenlik | Kullanım alanı |
|---|---|---|---|
| MD5 | Uzunluk32 karakter | GüvenlikKırıldı. İki farklı dosyaya aynı değer verdirilebilir | Kullanım alanıBozuk veya yarım kalmış indirmeleri yakalamak |
| SHA-1 | Uzunluk40 karakter | GüvenlikAynı nedenle 2017'den beri kırık | Kullanım alanıEski indirme sayfaları ve Git |
| SHA-256 | Uzunluk64 karakter | GüvenlikGüvenli | Kullanım alanıBugün yazılım indirmelerinde standart |
| SHA-512 | Uzunluk128 karakter | GüvenlikGüvenli | Kullanım alanıBazı Linux dağıtımları ve güvenlik araçları |
İndirme sayfasında birden fazla değer varsa SHA-256 veya SHA-512'yi kullanın.
Checksum eşleşmezse ne yapmalı
Dosyayı açmayın ve kurmayın. Ardından en olası nedenden başlayarak şunları kontrol edin:
- Aynı algoritmayı karşılaştırdığınızdan emin olun. Bir SHA-256 değeri hiçbir zaman bir MD5 değeriyle eşleşmez.
- Sürüm numarası ve x64 mü ARM mi olduğu dahil, değerin ait olduğu sürümü indirdiğinizden emin olun.
- Dosyayı silip yeniden indirin; mümkünse bir yansı sunucudan değil, resmi siteden.
- Resmi siteden yeniden indirdiğiniz dosya da eşleşmiyorsa yayıncıyla iletişime geçin ve dosyayı kullanmayın.
Checksum'ın size söyleyemedikleri
Eşleşen bir checksum, dosyanızın değerin hesaplandığı dosyayla birebir aynı olduğunu kanıtlar. O dosyanın güvenli olduğunu kanıtlamaz. Web sitesini saldırganlar ele geçirdiyse hem dosyayı hem de yanındaki değeri değiştirebilirler.
Daha güçlü bir koruma için değeri dosyayı aldığınız yerden farklı bir kaynaktan alın; örneğin dosyayı bir yansıdan indirdiyseniz değeri resmi siteden alın. Bazı projeler checksum dosyalarını GPG ile de imzalar; bu da değerlerin gerçekten yayıncıdan geldiğini kanıtlar.
Sık sorulan sorular
Dosyaları güvenle paylaş
Dosyalarınızı uçtan uca şifreli bir bağlantıyla gönderin. Ücretsiz, hesap gerektirmez ve gönderdiklerinizi biz bile göremeyiz.
Dosya paylaş