Checksum (Hash) Nedir ve İndirdiğiniz Dosyalar Nasıl Doğrulanır?
Bir programı internetten indirdiniz, kurulum sırasında hata aldınız ya da dosya "bozuk" diye açılmadı. Belki de internet bağlantınız kesildi ve indirme yarıda kaldığı için dosyanın eksik olduğundan şüpheleniyorsunuz. Bu gibi durumlarda dosyanın tam ve değiştirilmemiş olduğunu anlamanın en güvenilir yolu checksum (sağlama toplamı) kontrolüdür.
Checksum Nedir?
Checksum, bir dosyanın içeriğinden matematiksel bir algoritmayla üretilen sabit uzunlukta bir karakter dizisidir. Bu diziye hash de denir. Dosyanın içinde tek bir bit bile değişse, üretilen hash tamamen farklı çıkar. Bu yüzden bir dosyanın orijinaliyle aynı olup olmadığını anlamak için hash değerlerini karşılaştırmak yeterlidir.
En yaygın hash algoritmaları şunlardır:
- MD5: Eski ve hızlı, ama artık kriptografik güvenlik için yeterli kabul edilmiyor. Hâlâ basit bütünlük kontrolü için kullanılır.
- SHA-1: MD5'ten biraz daha güçlü, ancak o da artık güvenlik açısından zayıf sayılıyor.
- SHA-256: Günümüzde yazılım dağıtımında ve güvenlik uygulamalarında en çok tercih edilen standart. Pratikte çakışma (iki farklı dosyanın aynı hash'i üretmesi) ihtimali yok denecek kadar azdır.
Neden Önemli?
Checksum kontrolü iki farklı sorunu çözer:
- Bozuk indirme tespiti: İndirme sırasında bağlantı kesilirse veya bir paket kaybolursa, dosyanız eksik veya hatalı olabilir. Hash karşılaştırması bunu hemen ortaya çıkarır.
- Değiştirilmiş dosya tespiti: Bir dosya, resmi kaynaktan indirildiği halde yolda (örneğin güvenilmeyen bir ayna sunucuda) kötü amaçlı kodla değiştirilmiş olabilir. Yayıncının belirttiği hash ile indirdiğiniz dosyanın hash'i eşleşmiyorsa, dosyaya güvenmemelisiniz.
Özellikle işletim sistemi imajları, önemli yazılım kurulum dosyaları ve açık kaynak projelerinin resmi sürümlerinde yayıncılar genellikle dosyanın yanında bir SHA-256 değeri paylaşır.
Adım Adım Nasıl Doğrulanır?
- İndirdiğiniz dosyanın resmi sayfasında yayıncının paylaştığı hash değerini bulun (genellikle "SHA-256" veya "checksum" başlığı altında, uzun bir harf-sayı dizisi olarak yer alır).
- Kendi bilgisayarınızdaki dosya için aynı algoritmayla hash hesaplayın.
- İki değeri harf harf karşılaştırın. Tek bir karakter farkı bile dosyanın farklı olduğu anlamına gelir.
Windows'ta komut satırından certutil -hashfile dosya.exe SHA256, macOS ve Linux'ta terminalden shasum -a 256 dosya komutlarıyla hash hesaplayabilirsiniz. Komut satırı kullanmak istemiyorsanız, dosyayı veya metni tarayıcı tabanlı bir araca yapıştırarak da aynı sonucu alabilirsiniz.
Hash Sadece Dosyalar İçin Değil
Hash fonksiyonları yalnızca indirilen dosyaları doğrulamak için kullanılmaz. Örneğin parolalar veritabanlarda düz metin olarak değil, hash'lenmiş hâlde saklanır; böylece veritabanı sızsa bile saldırgan doğrudan parolanızı göremez. API imzalarında, dijital belgelerin bütünlüğünü kanıtlamakta ve blok zinciri sistemlerinde de aynı mantık kullanılır: veri değişmeden kalmış mı, bunu hesaplanan hash üzerinden kontrol edersiniz.
Pratik Bir Uygulama: Tarayıcınızda Hash Hesaplama
Komut satırıyla uğraşmadan, herhangi bir metin veya dosya için hızlıca hash üretmek isterseniz Hash Üretici aracımızı kullanabilirsiniz. MD5, SHA-1 ve SHA-256 gibi farklı algoritma seçenekleriyle, girdiğiniz veriden anında hash değeri oluşturur. Tüm işlem tarayıcınızda yerel olarak yapılır; hiçbir veri sunucuya gönderilmez, bu da hassas dosyalar için doğrulama yaparken gönül rahatlığı sağlar.
Bir sonraki büyük dosyayı indirdiğinizde, kurulumdan önce bir dakikanızı ayırıp hash'i doğrulamak, hem bozuk bir kurulumla saatler kaybetmenizi hem de olası bir güvenlik riskini önler.