Herkese merhabalar,
Daha önceden hash kontrol uygulaması ile bir dosyanın hash değerini kaynak üreticisinin verdiği değer ile uyuşup uyuşmadığını kontrol eden bir yazılım paylaşmıştım. Ancak herhangi bir dosyanın hash değerini nasıl öğreniriz onunla ilgili bir bilgi vermemişiz. Bu konuda da başlık olarak hash değeri nasıl öğrenilir onu anlatmak istedim.
Öncelikle ek bir yazılıma ihtiyaç duymadan Windows Powershell üzerinden bunu rahatlıkla yapabiliriz.
Windows + R tuşlarına basıp powershell yazarak, powershell betiğine ulaşalım ve karma (hash) değerini almak istediğimiz dosyanın olduğu dizine gidelim.

Örneğin ben burada notlar.docx adlı dosyanın karma değerini öğrenmek istiyorum.
Eğer aşağıdaki şekilde düz kod yazarsak tek satır şeklinde | format-list ekini eklersekte daha düzgün derli toplu şekilde bir çıktı elde ederiz.
get-filehash notlar.docx

get-filehash komutu varsayılan olarak SHA256 çıktısı verilecek şekilde kodlanmıştır. Bu nedenle eğer farklı algoritmalarda kodlar elde etmek istersek bunu -algorithm parametresiyle belirtmek gerekir.
Desteklenen kodlama biçimleri şu şekildedir :
get-filehash notlar.docx -Algorithm MD5 | format-list

Ayrıca eğer isterseniz regedit'e anahtar komut ekleyerek sağ tık menünüze bu karma değerleri almak için anahtar ekleyebilirsiniz.
Aşağıdaki kodları ekle.reg ve kaldir.reg olarak ayrı ayrı kaydedin ve eğer eklemek istiyorsanız ekle.reg kaldırmak istiyorsanız da kaldir.reg dosyasını çalıştırarak kullanın.
Aşağıdaki kod kısmında ben sha256 ile öğrenmek için -Algorithm kısmından sonra SHA256 olarak yazdım siz tercihinize göre MD5, SHA256, SHA384 VE SHA512 olarak istediğiniz türe göre düzenleyebilirsiniz.

Eklemek için :
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\SHA256-HASH]
@="SHA256-HASH"
[HKEY_CLASSES_ROOT\*\shell\SHA256-HASH\command]
@="powershell.exe -NoExit -Command \"Get-FileHash -LiteralPath '%1' -Algorithm SHA256 | Format-List\""
Kaldırmak için :
Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\*\shell\SHA256-HASH]