Veri özeti ne işe yarar?
Hash işlevi, değişken uzunluktaki girdiyi belirli uzunlukta bir özete dönüştürür. Aynı algoritma aynı bayt dizisine uygulandığında aynı sonuç beklenir. Kriptografik hash, farklı girdiler için aynı özeti bulmayı zorlaştıracak şekilde tasarlanır. Checksum ise genel olarak veri hatalarını veya değişimini kontrol etmekte kullanılan denetim değeridir; her checksum kriptografik güvenlik sağlamaz. Bir özeti şifreli metin gibi düşünmeyin: hash işlemi geri açılacak gizli içerik üretmez. Dosya doğrulama, kayıt karşılaştırma ve güvenlik uygulamalarında kullanılan yöntemlerin amacı ve uygun algoritması farklı olabilir.
SHA-256 çıktı uzunluğu için örnek hesap
SHA-256 çıktısı 256 bittir; 8'e bölünce 32 bayt eder. Onaltılık gösterimde her bayt iki karakterle yazıldığından sonuç 64 hex karakteriyle gösterilir. Örneğin 10 baytlık bir dosyanın da 10 milyon baytlık bir dosyanın da SHA-256 özeti aynı uzunluktadır. Bu uzunluk dosya boyutunu anlatmaz. Özeti Base64 gibi farklı biçimde gösterdiğinizde karakter sayısı değişebilir; alttaki özet yine aynı bayt dizisidir. İki sonucu karşılaştırırken algoritmayı ve çıktı biçimini eşleştirin, yalnız karakter sayısına dayanarak aynı işlem yapıldığını varsaymayın.
İndirilen dosya nasıl karşılaştırılır?
Yayıncının dosya için verdiği güvenilir SHA-256 değerini kaydedin ve indirilen dosyanın tüm baytları üzerinden aynı algoritmayla özet üretin. Sonuç farklıysa dosyanın sürümü, içeriği veya aktarımı farklıdır. Örneğin yayıncı A sürümünün özetini yayımlarken siz B sürümünü indirdiyseniz farklılık beklenir. Dosya adının aynı olması yeterli kanıt değildir. Bir metni kopyalayarak hesaplamak da dosyanın gerçek baytlarını hesaplamakla aynı değildir; satır sonları, kodlama veya sonda boşluk değişebilir. Doğrulama kaydında dosya sürümü, boyut, algoritma ve referans özeti birlikte saklayın.
Eşleşme neyi kanıtlar?
Özet eşleşmesi seçilen algoritmaya göre verinin referansla uyumlu olduğunu gösterir; referansın güvenilirliğini tek başına sağlamaz. Dosyayı değiştiren biri aynı yerde yayımlanan denetim değerini de değiştirebiliyorsa yalnız o değeri karşılaştırmak yeterli olmaz. Güvenilir yayın kanalı veya dijital imza bu yüzden farklı bir rol üstlenir. CRC gibi hata denetimlerini saldırgan değişikliklerine karşı kriptografik doğrulama yerine kullanmayın. Benzer şekilde parola saklamak yalnız hızlı dosya hash'i uygulamaktan daha özel yöntemler gerektirir. Araç seçerken çıktı adını değil, işlemin veri kontrolü mü yoksa güvenlik doğrulaması mı olduğunu belirleyin.
Kaynaklar ve geçerli dönem
Mevzuat, sınav ve dönem bilgilerini kullanırken bağlantıdaki resmî kaynağın kapsamını kontrol edin.
- MDN — SubtleCrypto digest ve SHA özet uzunlukları Temel tanım ve kullanım
- NIST FIPS 180-4 — Secure Hash Standard Temel tanım ve kullanım