MD5 Hash Üreticisi

md5sum, openssl dgst -md5 ve certutil -hashfile ile tam olarak aynı 32 karakterlik on altılık MD5 kontrol toplamını üretir; bir indirme sayfasında bir MD5 değeri yayımlandığında ve bir CLI aracı kurmadan dosyanın eşleşip eşleşmediğini kontrol etmek istediğinizde oldukça faydalıdır. Metin girişini (UTF-8 baytları olarak işlenir ve Unix araçlarıyla uyumludur) ve dosya girişini (büyük dosyaların bile belleğe sığabilmesi için akış hâlinde işlenir) işler.

Bir dosyanın kontrol toplamı nasıl doğrulanır?

  1. 1

    İndirilen dosyayı buraya bırakın

    Araç, veriyi parçalara ayırarak MD5 fonksiyonu üzerinden akış hâlinde geçirir.

  2. 2

    Dijesti bekleyin

    Çoğu makinede hız yaklaşık birkaç MB/s seviyesindedir; 500 MB'lık bir ISO dosyasının işlenmesi yaklaşık 30–60 saniye sürer.

  3. 3

    Yayınlanmış kontrol toplamı ile karşılaştırın

    Beklenen hash değerini kopyalayın ve yapıştırın. Araç, uyumunu veya uyumsuzluğunu renkle gösterir.

  4. 4

    Eşleşmiyorsa dosyayı çalıştırmayın

    Farklı bir hash değerinin olması, dosyanın bozulduğunu veya değiştirildiğini gösterir. Dosyayı güvenilir bir kaynaktan yeniden indirin.

Kanonik çıktı formatı

MD5, 128 bitlik bir değer üretir ve bu değer genellikle küçük harflerle yazılan 32 on altılık karakter olarak ifade edilir:

9e107d9d372bb6826bd81d3542a419d6

Unix md5sum, iki boşluk içeren <hash> <filename> biçimini yazdırır. GNU coreutils, -c (kontrol) bayrağı için bu formatı bekler.

Metin Modu ve Dosya Modu

  • Metin girişi, hash’lenmeden önce UTF-8 olarak kodlanır. Bu, Unix’teki echo -n "text" | md5sum ile eşleşir. Windows PowerShell’de Get-FileHash varsayılan olarak UTF-16 kullanır; özel bir ayar yapmadığınız sürece bu, iki değerin farklı çıkmasının nedenidir.
  • Dosya girişi, dosyanın içeriği ne olursa olsun bayt bayt hash’lenir; herhangi bir kodlama dönüşümü yapılmaz. Tarayıcınız ile bir CLI aracı, dosya hash’i konusunda her zaman aynı sonucu verir.

Yayınlanan kontrol toplamıyla eşleştirme

Çoğu indirme sayfası, hash değerini dosya adıyla birlikte yayımlar:

md5sum: 9e107d9d372bb6826bd81d3542a419d6  yourfile.iso
  • Doğru dosyayı indirdiğinizden emin olun (bazen üreticiler her varyant için ayrı hash değerleri yayımlar: x86_64 ile ARM).
  • Kontrol toplamının kaynağına güvenin. Ele geçirilmiş bir sayfadaki MD5 bağlantısının hiçbir değeri yoktur. Mümkün olduğunda her zaman GPG ile imzalı SHA256SUMS dosyasıyla karşılaştırın.

Uyumsuzluğun yaygın nedenleri

  • Kısmi indirme, tarayıcı kesintiye uğradı ve yanlış şekilde devam ettirildi.
  • Farklı sürüm, aynadaki sürüm, kontrol toplamının belirttiği sürümden farklıdır.
  • Yanlış dosya seçildi (ISO yerine .sig dosyasını hash’lediniz).
  • Sıkıştırma veya yeniden biçimlendirme, .tar.gz ve ondan çıkarılan aynı klasörün hash değerleri tamamen farklıdır.
  • Gerçek kurcalama, nadir rastlanır; ancak kontrol toplamlarının var olmasının nedeni budur.

Hız

MD5 oldukça hızlıdır. Son beş yılda üretilen bir dizüstü bilgisayarın hash hızı 400 MB/s’yi aşmaktadır. Tarayıcıda bir dosyanın hashlenmesindeki engel genellikle matematiksel işlem değil, disk giriş/çıkışıdır.

MD5 yeterli değilse

Güvenlik açısından hassas bütünlük kontrolü için (yüklenen kurulum programının kötü amaçlı yazılımla değiştirilmediğinin doğrulanması gerekiyorsa), SHA-256 tercih edilmelidir; çünkü MD5 çakışmalarını hesaplamak oldukça kolaydır. Çoğu modern proje her ikisini de kullanır.

Sık Sorulan Sorular

PowerShell’deki Get-FileHash varsayılan olarak MD5 yerine SHA-256 kullanır. Yayınlanmış bir MD5 değeriyle eşleştirmek için Get-FileHash -Algorithm MD5 file.iso komutunu kullanın.

Çoğu modern tarayıcı yaklaşık 2 GB’ye kadar olan dosyaları sorunsuz şekilde aktarır. Daha büyük dosyalar (DVD’ler, disk görüntüler) için CLI aracını kullanın: Linux’ta md5sum file, Windows’ta Get-FileHash -Algorithm MD5.

.md5 dosyası genellikle tek bir satır içerir: on altılık hash, ardından iki boşluk ve dosya adı. md5sum -c checksum.md5 gibi araçlar bu satırı okuyarak doğrulamayı yapar. Yalnızca on altılık bölüm, ham hash değeridir.

Evet, MD5 çakışmalarını kasıtlı olarak oluşturmak oldukça kolaydır. Gerçek dosyalar arasında rastgele meydana gelen çakışmaların olasılığı ise yaklaşık 2^64’te 1’dir ve neredeyse hiç olası değildir. Kötü niyetli çakışmalara karşı direnç için SHA-256 kullanın.

Hayır. Hashleme işlemi tamamen tarayıcınızda, WebCrypto API ve tipli dizi blokları aracılığıyla gerçekleşir. Dosyalar asla cihazınızdan çıkmaz.

İlgili Araçlar

Araç diğer dillerde mevcuttur