Windows 7'de bir SHA-1 veya MD5 karma hesaplamak için yerleşik bir yöntem var mı? [çift]


37

Windows 7'de bir SHA-1 veya MD5 karma hesaplamak için yerleşik bir yöntem var mı?



Sha1'i diğer sorunun başlığına eklemeyi ve bunu kapatmayı desteklerim
Brian Webster

Bu soru bir kopyası değil superuser.com/questions/89191/... . Bu soru sadece kabuk entegrasyonu istiyor, komut satırı yok.
wisbucky

Bu çözüm tam olarak Windows 7'de yerleşik değildir, ancak zaten Git Bash (msys / mingw) kurulu ise, md5sum komut satırı içerir.
wisbucky

3
powershell get-filehash -algorithm sha1 <file_to_check>
Christian Long

Yanıtlar:


31

Yerleşik bir yardımcı program yoktur, ancak Microsoft ücretsiz indirilebilen bir komut satırı yardımcı programı sağlar:

File Checksum Integrity Verifier yardımcı programının kullanılabilirliği ve açıklaması


5
Bu artık pek doğru değil. PowerShell 4 ekler Get-FileHash komuta . (Zaman hakkında değil mi?) Adil olmak gerekirse, PowerShell 4 şu anda yalnızca en yeni Windows işletim sistemlerine kurulsa da, yükseltme eski işletim sistemlerinde oldukça makul. (PS4'ün de bir sürü hoş şeyi var.)
jpmc26

Bir büyük uyarı: fciv unicode karakterler içeren dosya isimleri başarısız olur.
wisbucky

18

Yerleşik alet yok.

ben kullanıyorum HashCheck kabuk uzantısı:

alt text


Bu benim favorim çünkü bir çekirdek uzantısı (hala bu terminolojiyi kullanıyorlarsa, bilmiyorum). Yıllardır kullanıyorum.
David Cowden

Bununla SHA-256 hash almak için herhangi bir yolu?
Max

@DavidCowden: Yalnızca kullanıcı alanında çalışan bir uygulamaya kıyasla, çekirdek uzantısı gibi bir özelliği uygulamanın faydaları nedir. Bu işletim sistemi potansiyel olarak kararsız değil mi?
Isaac

@Iacac konuştu özledim. Eski Windows terimlerinde bir kabuk uzatma, çekirdek uzantısı değil. Bunun faydası, kullanıcı arabirimini sağ pencereye gezgini içine eklemektir, böylece görüntünün gösterdiği gibi sağlama toplamı ve karmaları doğrudan dosyanın özellikler penceresinde görüntüleyebilirsiniz. Oldukça temiz!
David Cowden

11

Tam olarak yerleşik değil, ama en azından çalışması için herhangi bir yeni yazılım indirmenize gerek yok. MD5sum dosyalarını hesaplamak için bir powershell betiği oluşturabilirsiniz. Gerçek script burada bulunabilir:

http://www.ahmadsoft.org/powershelljunkie/index.html

Bu metni "ps-md5sum.ps1" adlı bir dosyaya kopyalayın ve bir yere kaydedin. Bir dosyanın karmasını hesaplamanız gerektiğinde, kontrol etmeniz gereken dosyanın dizininde PowerShell'i açın ve çalıştırın:

[PS] C:\> ps-md5sum.ps1 file-of-choice.exe

Ve bu dosyanın karmasını döndürmelidir.


Joe Pruitt'den gelen bu PS1 betiği, UNIX md5 davranışını taklit ediyor: devcentral.f5.com/weblogs/Joe/archive/2009/05/18/...
Brian Reiter




4

Yayınlanan tüm harika seçeneklere ek olarak, ayrıca md5deep / hashdeep , aşağıdakileri destekleyen Windows için açık kaynaklı bir karma hesaplama paketi (ancak * nix ve OS X sistemlerinde de kullanılabilir):

  • MD5
  • SHA-1
  • SHA-256
  • Kaplan
  • girdap

Md5deep / hashdeep'in bazı avantajları:

  • Açık kaynak ve platformlar arası.
  • Komut satırından çalışır ve komut dosyası için kullanılabilir.
  • Hem 32 bit hem de 64 bit sistemler için optimize edilmiş ikili dosyalara sahiptir.
  • Modern karma algoritmaları destekler (MD5 ve SHA-1 kırık Bu noktada, dosya bütünlüğünü ve dijital imzaları doğrulamak için, çünkü MD5 için çarpışmalar daha kolay üretilebilir ve SHA-1 çarpışmaları artan olasılık içinde ).
  • Bir dizinin tamamı için tekrarlı olarak sağlama toplamları oluşturabilir.
  • Bir dosyayı veya dizini, dizinde hızlı bir denetim yapmak için önceden oluşturulmuş sağlama toplamı listesine karşı test edebilir (bilinmeyen dosyaları veya değiştirilmiş dosyaları tanımlayarak).

Windows'da kullanmak için, Cygwin'e yükleyebilir veya md5deep dizinini bilgisayarınıza ekleyebilirsiniz. %PATH% değişken. Kişisel olarak aşağıdaki kurulumu tercih ediyorum:

  1. Tüm dosyaları bir yere çıkarın, örn.

    %ProgramFiles%\md5deep

  2. Windows dizininizde bir grup toplu iş dosyası oluşturun, ör.

    %WinDir%\md5.bat
    %WinDir%\hash.bat
    %WinDir%\sha1.bat
    %WinDir%\sha256.bat
    %WinDir%\tiger.bat
    %WinDir%\whirlpool.bat

  3. Uygun ikili dosyalara giden yolu ekleyin, örn.

    İçinde md5.bat :
    @ECHO OFF
    "%ProgramW6432%\md5deep\md5deep64.exe" %* (64 bit sistemler)
    "%ProgramFiles%\md5deep\md5deep.exe" %* (32 bit sistemler)

    İçinde hash.bat :
    @ECHO OFF
    "%ProgramW6432%\md5deep\hashdeep64.exe" %* (64 bit sistemler)
    "%ProgramFiles%\md5deep\hashdeep.exe" %* (32 bit sistemler)
    ...

Veya WoW64 için 32 bit ve 64 bit ikili dosyaları arasında otomatik olarak geçiş yapmak istiyorsanız, 32 bit ikili dosyaları %ProgramFiles(x86)% ve 64-bit olanlar %ProgramW6432%ve ardından toplu iş dosyalarınızı şöyle yazın:

@ECHO OFF
SET cmd=hashdeep
IF "%ProgramFiles%" EQU "%ProgramW6432%" SET cmd=%cmd%64
"%ProgramFiles%\md5deep\%cmd%.exe" %*
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.