Checksum, hataların verilerini kontrol etmek için kullanılan bir sayı ve harf dizisi sistemidir. Orjinal bir dosyanın checksum değerini biliyorsanız, kopyanızın aynı olduğunu doğrulamak için checksum yardımcı programını kullanabilirsiniz.
Checksum nedir?
Bir checksum oluşturmak için, bu dosyayı algoritma aracılığıyla oluşturman bir program çalıştırırmanız gerekir. Bunun için kullanılan tipik algoritmalar arasında MD5, SHA-1, SHA-256 ve SHA-512 bulunmaktadır.
Algoritma, bir giriş alan ve sabit uzunlukta bir dizi (sayı ve harf sırası) üreten kriptografik karma işlevi kullanır. Bu dosya 1 MB gibi küçük bir dosya veya 4 GB gibi büyük bir dosya olabilir, ancak her iki şekilde de aynı uzunlukta bir checksum değer toplamı elde etmeniz gerekir. Checksums ayrıca “hashes” olarak da bilinmektedir.
Dosyadaki küçük değişiklikler çok farklı görünümlü hash kodları üretirler. Örneğin, hemen hemen aynı olan iki farklı metin dosyası oluşturalım, ancak birinin diğerinden farkı olarak sonuna ünlem işareti koyalım. Windows 10’da yerleşik olarak bulunan checksumming yardımcı programı çalıştırdıktan sonra çok farklı checksum değerleri ekranımıza geldi. Temel dosyadaki tek bir karakter farkı, çok farklı görünen bir checksum değeri üretmektedir.
Checksum’ın yararları
Aktarım veya depolama sırasında oluşan hatalarda dosyaları ve diğer verileri kontrol etmek için kullanabilirsiniz. Örneğin, bir dosya ağ sorunları nedeniyle düzgün şekilde indirilmemiş olabilir veya sabit sürücü sorunları nedeniyle diskteki bir dosyada bozulma olmuş olabilir.
Özgün dosyanın checksum değerini biliyorsanız, üzerinde checksum doğrulama programını çalıştırabilirsiniz. Sonuçta elde edilen checksum eşleşirse, sahip olduğunuz dosyanın aynı olduğunu anlayabiliriz.
Bilgisayarlar, arka planda sorunların verilerini kontrol etmek için sağlama stili tekniklerini kullanırlar, ancak bunu kendiniz de yapabilirsiniz. Örneğin, Linux dağıtımları genellikle checksum sağlar, böylece Linux ISO’nuzu bir diske yazmadan veya bir USB sürücüsüne koymadan önce doğru şekilde indirildiğini doğrulayabilirsiniz. Ayrıca, uygulamalardan belgeye ve medyaya diğer dosya türlerinin bütünlüğünü doğrulamak için de kullanabilirsiniz. Sadece orijinal dosyanın checksum değerini bilmeniz yeterli olacaktır.
MD5, SHA-1 ve SHA-256 arasındaki fark nedir?
Checksum, bir dosyanın hata içermediğinden emin olmanın kullanışlı bir yoludur. Karşıdan yükleme sorunları veya sabit sürücü sorunları nedeniyle rastgele bir hata oluşursa, ortaya çıkan checksum değeri küçük bir hata olsa bile farklı olacaktır.
Ancak, bu şifreleme işlevleri mükemmel durumda değil. Güvenlik uzmanları MD5 ve SHA-1 fonksiyonları ile bazı farklılıklar buldular. Başka bir deyişle, aynı MD5 veya SHA-1 hashını üreten ancak farklı olan iki farklı dosya olabiliyor.
Bu rastgele bir şansla gerçekleşebilir, ancak kötü niyetli saldırgan, bu tekniği kötü amaçlı bir dosyayı sanki doğru bir dosya olarak gizlemek için kullanabilir. Bu nedenle bir dosyanın orijinal olduğunu doğrulamak için MD5 veya SHA-1 algoritmalarına güvenmemeniz gerekir.
Henüz bir SHA-256 algoritmasıyla ilgili herhangi bir yanlışlık raporu olmadı, bu yüzden uygulamalar artık MD5 ve SHA-1 algoritmaları yerine SHA-256 algoritmaları ile dağıtılmaktadır. SHA-256, daha güçlü, daha güvenli bir algoritmadır.
Farklı checksum algoritmaları farklı sonuçlar üretir. Bir dosya farklı MD5, SHA-1 ve SHA-256 hashlerine sahip olur. Orijinal bir dosyanın yalnızca MD5 checksum değerini biliyorsanız, eşleşmenin doğru olup olmadığını kontrol etmek için dosyanızın MD5 checksum değerini hesaplamanız gerekir.
Checksums nasıl hesaplanır?
Özgün bir dosyanın checksum değerini biliyorsanız ve bilgisayarınızda kontrol etmek istiyorsanız bunu kolayca yapabilirsiniz. Windows, macOS ve Linux’un tüm sürümlerinde, checksum oluşturmak için yerleşik yardımcı programları kullanabilirsiniz. Başka herhangi bir yardımcı program yüklemenize gerek yok.
Windows’ta, PowerShell Get-FileHash
komutu bir dosyanın checksum değerini hesaplamaktadır. Kullanmak için önce PowerShell’i açın. Bunun için Windows 10’da, Başlat düğmesine sağ tıklayın ve “Windows PowerShell” öğesini seçin.
Komut isteminee Get-FileHash
yazın ve sonra boşluk bırakın.
Checksum değerini hesaplamak istediğiniz dosyanın yolunu yazın. Ya da, işleri kolaylaştırmak için dosya yolunu otomatik olarak doldurmak için dosyayı Dosya Gezgini penceresinden PowerShell penceresine sürükleyip bırakın.
Komutu çalıştırmak için Enter tuşuna basın, dosya için SHA-256 hash değerini göreceksiniz. Dosyanın boyutuna ve bilgisayarınızın depolama hızına bağlı olarak, işlem birkaç saniye sürebilir.
Başka bir hash türüne ihtiyacınız varsa, komutun sonuna uygun -Algorithm
seçeneğini ekleyin, örneğin:
Get-FileHash C:\path\to\file.iso -Algorithm MD5
Get-FileHash C:\path\to\file.iso -Algorithm SHA1
Hesaplanan checksum değerini orijinal olanla karşılaştırın.
Checksum değeri eşleşirse, dosyalar aynıdır. Değilse, bir sorun var demektir. Bu durumda ya dosya bozuk ya da iki farklı dosyayı karşılaştırıyorsunuz.