Bir Linux ISO'su indirdiniz; sitede "SHA256: 9f86d08…" yazıyor. Bir müşteriye 2 GB'lık arşiv gönderdiniz; "dosya açılmıyor" diyor. Bir yedekleme diskinde dosyaların yıllar içinde bozulup bozulmadığını bilmek istiyorsunuz. Üç durumda da cevap aynı araçtadır: hash (özet) değeri. Bu rehber hash'in ne olduğunu, hangi algoritmanın ne zaman kullanıldığını ve bir dosyanın özetini komut satırında ya da tarayıcıda nasıl hesaplayacağınızı anlatır.
Kısa cevap: Dosyanın hash değerini hesaplayıp yayınlanan değerle karşılaştırın; iki değer aynıysa dosya birebir sağlamdır. Windows'ta
certutil -hashfile dosya SHA256, Linux ve Mac'tesha256sum dosyakomutu yeterlidir. Tarayıcıda, dosyayı hiçbir yere yüklemeden hesaplamak için Dosya Hash Hesapla aracına sürükleyin ve beklenen değeri yapıştırın; eşleşme yeşil görünür.
Hash nedir?
Hash fonksiyonu, herhangi bir dosyayı sabit uzunlukta bir harf-rakam dizisine çevirir. Dosyada tek bir bayt değişse özet tamamen değişir. Bu yüzden iki tarafın hesapladığı özet aynıysa dosyalar birebir aynıdır; farklıysa dosya ya eksik inmiş ya da değiştirilmiştir. "Checksum" ve "sağlama toplamı" aynı kavramın adlarıdır.
Hangi algoritma?
| Algoritma | Uzunluk | Hız | Güvenlik | Nerede kullanılır |
|---|---|---|---|---|
| CRC32 | 8 hex karakter | Çok hızlı | Yok (yalnızca bozulma tespiti) | ZIP içi kontrol, SFV dosyaları |
| MD5 | 32 karakter | Hızlı | Kırılmış (çakışma üretilebilir) | Eski indirme siteleri, hızlı eşleşme |
| SHA-1 | 40 karakter | Hızlı | Kırılmış (2017) | Git, eski imzalar |
| SHA-256 | 64 karakter | Orta | Güvenli | Yazılım dağıtımı, sertifikalar, standart seçim |
| SHA-512 | 128 karakter | 64 bit sistemlerde SHA-256 kadar hızlı | Güvenli | Büyük dosyalar, bazı Linux dağıtımları |
Pratik kural: bozulma kontrolü için MD5 ya da CRC32 yeterlidir; kasıtlı değişiklik (zararlı yazılım eklenmesi) kontrolü için SHA-256 kullanın. Kaynak site hangi algoritmayı yayınlıyorsa onu hesaplayın; farklı algoritmaların sonuçları karşılaştırılamaz. Dosyaları yeniden adlandırmak hash'i değiştirmez; toplu ad düzenleme için dosya yeniden adlandırma rehberine bakabilirsiniz.
Tarayıcıda hesaplamak
Dosya Hash Hesapla aracı dosyaları sunucuya yüklemeden cihazınızda hesaplar.
- Dosyaları sürükleyin; birden fazla dosya ve 4 GB'lık ISO'lar desteklenir.
- Algoritmayı seçin: MD5, SHA-1, SHA-256, SHA-512 veya CRC32.
- "Beklenen hash" alanına sitedeki değeri yapıştırın. Eşleşme yeşil, uyuşmazlık kırmızı görünür.
- "Listeyi indir" ile
ozetler.sha256dosyası alın; bu dosyasha256sum -ckomutuyla doğrulanabilen standart biçimdedir.
Beklenen değer alanı tek bir hash kabul ettiği gibi, hash dosyaadı satırlarından oluşan bir listeyi de okur ve her dosyayı adına göre eşleştirir.
Komut satırında hesaplamak
Windows PowerShell veya CMD:
certutil -hashfile C:\indirilenler\ubuntu.iso SHA256
PowerShell'de alternatif: Get-FileHash .\ubuntu.iso -Algorithm SHA256.
Linux ve macOS:
sha256sum ubuntu.iso
md5sum arsiv.zip
sha256sum -c SHA256SUMS
macOS'ta md5 ve shasum -a 256 komutları da bulunur. Son komut, dağıtımların yayınladığı SHA256SUMS dosyasındaki tüm girdileri tek seferde kontrol eder ve her dosya için OK ya da FAILED yazar.
sha256sum dosya biçimi
Standart biçim satır başına bir dosyadır: 64 karakterlik özet, iki boşluk, dosya adı.
9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08 rapor.pdf
İkinci boşluk yerine * görürseniz dosya ikili (binary) modda okunmuştur; sonuç aynıdır. CRC32 için .sfv biçimi kullanılır: dosya adı, boşluk, 8 karakterlik CRC.
Üç gerçek kullanım
İndirme doğrulama. Link Listesi İndir ile toplu indirdiğiniz dosyaların yanında bir SHA256SUMS listesi varsa, hepsini hash aracına atıp listeyi beklenen alanına yapıştırın; eksik inen dosya anında görünür. Toplu indirme adımları bu rehberde anlatılıyor.
Teslimat kanıtı. Müşteriye gönderdiğiniz arşivi Toplu ZIP Oluştur ile paketleyin, SHA-256 değerini e-postaya yazın. "Dosya bozuk geldi" tartışması, alıcının hesapladığı değerle bitiyor.
Arşiv sağlığı. Yedek diskinizdeki klasör için yılda bir ozetler.sha256 üretin ve bir sonraki yıl sha256sum -c ile karşılaştırın. Sessizce bozulan dosyalar (bit rot) böyle yakalanır. Bozuk ZIP'in içinden sağlam kalan dosyaları kurtarmak için ZIP Aç aracı tek tek dosya çıkarmanıza izin verir; ayrıntılar ZIP rehberinde.
Hash ile dijital imza aynı şey değil
SHA-256 eşleşmesi dosyanın yayınlanan değerle aynı olduğunu kanıtlar; yayınlayanın kim olduğunu kanıtlamaz. Bunun için dağıtımlar SHA256SUMS dosyasını GPG ile imzalar (SHA256SUMS.gpg). İmzayı gpg --verify SHA256SUMS.gpg SHA256SUMS komutuyla doğruladığınızda hem liste hem de listedeki tüm dosyalar güvenilir hale gelir. Günlük kullanımda bu adım gereksizdir; işletim sistemi görüntüsü ve güvenlik yazılımı indirirken yapmaya değer.
Hız beklentileri
| Dosya boyutu | MD5 / CRC32 (tarayıcı) | SHA-256 (tarayıcı) | sha256sum (komut satırı) |
|---|---|---|---|
| 100 MB | 1 saniye | 1 saniye | 0,3 saniye |
| 1 GB | 8–12 saniye | 6–10 saniye | 3 saniye |
| 4 GB | 40–50 saniye | Bellek sınırına takılabilir | 12 saniye |
Değerler orta sınıf bir dizüstü içindir. Tarayıcıda MD5 ve CRC32 dosyayı 8 MB'lık parçalarla okuduğu için boyut sınırı yoktur; SHA ailesi tüm dosyayı belleğe aldığından 2 GB üstünde komut satırı daha güvenlidir.
Sık yapılan hatalar
- Hash'i aynı sayfadan almak. Site ele geçirilmişse hem dosya hem hash değiştirilmiş olabilir. Mümkünse hash'i ikinci bir kaynaktan (resmî duyuru, imzalı SHA256SUMS.gpg) doğrulayın.
- Büyük-küçük harf takıntısı. Hex özetlerde
9F86ile9f86aynıdır; araçlar karşılaştırırken harf büyüklüğünü dikkate almaz. - Dosya adını hash sanmak. Dosya adı değişince hash değişmez; içerik değişince değişir.
- MD5 ile güvenlik beklemek. MD5 çakışmaları üretilebilir; imza ve güvenlik kararları için yalnızca SHA-256 ve üzeri kullanın.
- 2 GB üstünü tarayıcıda SHA ile denemek. SHA ailesi WebCrypto ile dosyanın tamamını belleğe alır; çok büyük dosyalarda MD5/CRC32 (parça parça hesaplanır) veya komut satırını tercih edin.
Gizlilik
Hash hesaplamak için dosyayı bir siteye yüklemek, hem gereksiz hem risklidir; tarayıcıda çalışan araçların neden farklı olduğu çevrimiçi araçların güvenliği rehberinde anlatılıyor. Bu sitedeki araç WebCrypto API'sini ve kendi MD5/CRC32 uygulamasını tarayıcınızda çalıştırır; dosya içeriği hiçbir zaman ağa çıkmaz.
Sık sorulan sorular
MD5 ile SHA-256 arasındaki fark nedir?
MD5 32, SHA-256 64 karakterlik özet üretir. MD5 hızlıdır ama aynı özeti veren iki farklı dosya üretilebildiği için güvenlik amaçlı kullanılmaz; yalnızca bozulma kontrolü için uygundur. SHA-256 bugün yazılım dağıtımı ve imzaların standardıdır. Yayınlanan hash hangi algoritmaysa onu hesaplayın; MD5 ile SHA-256 karşılaştırılamaz.
İki dosyanın aynı olup olmadığını nasıl anlarım?
İkisinin de hash'ini aynı algoritmayla hesaplayın; değerler eşitse içerikleri bayt bayt aynıdır. Dosya adı, tarihi veya konumu sonucu etkilemez. Dosya Hash Hesapla aracına iki dosyayı birlikte atıp tablodaki değerleri karşılaştırmak yeterlidir.
Hash değeri eşleşmiyorsa ne yapmalıyım?
Dosya eksik inmiş, aktarımda bozulmuş ya da değiştirilmiş demektir. Önce dosyayı yeniden indirin ve tekrar hesaplayın; ikinci denemede de uyuşmuyorsa kaynağın yayınladığı hash'i ikinci bir yerden doğrulayın ve dosyayı çalıştırmayın. Hex değerde büyük-küçük harf farkı uyuşmazlık sayılmaz.
Tarayıcıda hash hesaplamak güvenli mi?
Evet, araç WebCrypto API'sini ve kendi MD5/CRC32 kodunu tarayıcınızda çalıştırır; dosya içeriği ağa çıkmaz. Dosyaları seçtikten sonra internet bağlantısını kesseniz bile hesaplama tamamlanır. Dosyayı bir sunucuya yükleyen hash servislerinden bu yönüyle ayrılır.
4 GB'lık dosyanın hash'i tarayıcıda hesaplanır mı?
MD5 ve CRC32 için evet: dosya 8 MB'lık parçalarla okunduğu için boyut sınırı yoktur. SHA-256 ve SHA-512 dosyanın tamamını belleğe aldığından 2 GB üstünde tarayıcı belleği yetmeyebilir; bu durumda sha256sum veya certutil komutunu tercih edin.
Hash dosya adını değiştirince değişir mi?
Hayır. Hash yalnızca dosyanın içeriğinden hesaplanır; adı, uzantısı, oluşturulma tarihi veya bulunduğu klasör sonucu etkilemez. Bir ZIP içindeki dosyayı çıkarıp hesaplarsanız da değer aynı kalır; ancak ZIP dosyasının kendisi farklı bir hash'e sahiptir.