2.09.2016

Windows'da bilimum dosya hash'lerini hesaplama

Download edilen bir dosyanın doğru bir şekilde download edildiğini bilmek bazen hayati önem taşıyor. Linux'ta hash'leri
$ md5sum dosya-adı
$ sha1sum dosya-adı
$ sha256sum dosya-adı
$ sha512sum dosya-adı
gibi komut satırı programları aracılığıyla hesaplayabiliyoruz. Ama Windows'da bu yoktu[*] (fciv vardı ama sha256 hesaplamıyordu mesela). Ben de üçüncü parti yazılımlarla bunu çözmeye çalışıyordum. Ama PowerShell'de bunu yapan bir cmdlet olduğunu öğrenince çok hoşuma gitti. Aşağıdaki gibi çok sayıda hash hesaplaması yapmak mümkün:
PS> Get-FileHash dosya-adi -Algorithm md5
md5 yerine aşağıdaki hash algoritmalarını kullanabiliriz. Burada da tab tuşu ile tamamlama mümkün.
  • SHA1
  • SHA256
  • SHA384
  • SHA512
  • MACTripleDES
  • MD5
  • RIPEMD160
Çevrim içi yardım için şu link kullanılabilir.

Bir klasörde birden fazla dosyanın hash'lerini hesaplatmak için ise şöyle bir komut uygun olur:
PS>Get-ChildItem E:\ISO\*.iso | Get-FileHash
---

Düzenleme [12.11.2018] : Hack5 videolarından birinde  farkettim ki Windows'da aslında bir hash hesaplama aracı varmış. İşte MD5 vs SHA256 hash'lerini hesaplamak için DOS eşdeğeri:

certutil -hashfile dosyaadi md5
certutil -hashfile dosyaadi sha256

olabilir.