Czy istnieje wbudowana metoda obliczania skrótu SHA-1 lub MD5 w systemie Windows 7? [duplikować]


37

Czy istnieje wbudowana metoda obliczania skrótu SHA-1 lub MD5 w systemie Windows 7?



Poparłbym włączenie sha1 do tytułu drugiego pytania i zamknięcie tego
Brian Webster

To pytanie nie jest duplikatem superuser.com/questions/89191/... . To pytanie dotyczy tylko integracji powłoki, bez wiersza poleceń.
wisbucky

To rozwiązanie nie jest dokładnie wbudowane w system Windows 7, ale jeśli masz już zainstalowany Git Bash (msys / mingw), zawiera on wiersz poleceń md5sum
wisbucky

3
powershell get-filehash -algorithm sha1 <file_to_check>
Christian Długi

Odpowiedzi:


31

Nie ma wbudowanego narzędzia, jednak Microsoft udostępnia narzędzie wiersza polecenia do pobrania za darmo:

Dostępność i opis narzędzia File Checksum Integrity Verifier


6
To już nie do końca prawda. PowerShell 4 dodaje Get-FileHashpolecenie . (Czy to czas, prawda?) Chociaż, szczerze mówiąc, PowerShell 4 jest obecnie instalowany tylko w najnowszych systemach operacyjnych Windows, ale aktualizacja jest bardzo rozsądna na starszych systemach operacyjnych. (PS4 ma też wiele innych fajnych rzeczy.)
jpmc26

Jedno główne zastrzeżenie: fcivnie udaje się w przypadku nazw plików zawierających znaki Unicode.
wisbucky,

18

Brak wbudowanych narzędzi.

Używam rozszerzenia powłoki HashCheck :

alternatywny tekst


Jest to moje ulubione, ponieważ jest to rozszerzenie jądra (nie wiem, czy nadal używają tej terminologii). Używam go od lat.
David Cowden

Czy jest jakiś sposób na uzyskanie skrótów SHA-256?
Maks.

@DavidCowden: Jakie są zalety implementacji takiej funkcji jak rozszerzenie jądra w porównaniu do aplikacji działającej wyłącznie w przestrzeni użytkownika. Czy to potencjalnie niestabilny system operacyjny?
Izaak

@Isaac Tęsknię za mówieniem. W starych terminach systemu Windows jest to rozszerzenie powłoki , a nie rozszerzenie jądra. Zaletą jest to, że dodaje interfejs użytkownika bezpośrednio do Eksploratora Windows, dzięki czemu można, jak pokazuje obraz, przeglądać sumy kontrolne i skróty bezpośrednio w oknie właściwości pliku. Jest całkiem fajnie!
David Cowden,

11

To nie jest dokładnie wbudowane, ale przynajmniej nie musisz pobierać żadnego nowego oprogramowania, aby działało. Możesz utworzyć skrypt PowerShell do obliczenia sumy MD5 plików. Rzeczywisty skrypt można znaleźć tutaj:

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

Skopiuj ten tekst do pliku o nazwie „ps-md5sum.ps1” i zapisz go gdzieś. Gdy musisz obliczyć skrót pliku, otwórz PowerShell w katalogu pliku, który chcesz sprawdzić, a następnie uruchom go:

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

I powinien zwrócić skrót tego pliku.


Ten skrypt PS1 autorstwa
Brian Reiter




4

Oprócz wszystkich świetnych już opublikowanych opcji, dostępny jest także md5deep / hashdeep , pakiet obliczeniowy skrótu open source dla systemu Windows (ale może być również używany w systemach * nix i OS X), który obsługuje:

  • MD5
  • SHA-1
  • SHA-256
  • Tygrys
  • Wir

Niektóre zalety md5deep / hashdeep:

  • Jest to oprogramowanie typu open source i wieloplatformowe.
  • Działa z wiersza poleceń i może być używany do skryptów.
  • Ma zoptymalizowane pliki binarne dla systemów 32-bitowych i 64-bitowych.
  • Obsługuje nowoczesne algorytmy mieszające (zarówno MD5, jak i SHA-1 są w tym momencie zepsute w celu weryfikacji integralności plików i podpisów cyfrowych, ponieważ kolizje można już generować dla MD5 ze względną łatwością, a kolizje SHA-1 coraz częściej mieszczą się w zakresie możliwości ).
  • Może rekurencyjnie generować sumy kontrolne dla całego katalogu.
  • Może przetestować plik lub katalog na poprzednio wygenerowanej liście sum kontrolnych, aby przeprowadzić szybki audyt katalogu (identyfikując nieznane pliki lub pliki, które zostały zmienione).

Aby użyć go w systemie Windows, możesz zainstalować go w Cygwin lub po prostu dołączyć katalog md5deep do %PATH%zmiennej. Chociaż osobiście wolę następującą konfigurację:

  1. Wyodrębnij gdzieś wszystkie pliki, np

    %ProgramFiles%\md5deep

  2. Utwórz zestaw plików wsadowych w katalogu Windows, np

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

  3. Dołącz ścieżkę do odpowiednich plików binarnych, np

    W pliku md5.bat :
    @ECHO OFF
    "%ProgramW6432%\md5deep\md5deep64.exe" %*(systemy 64-bitowe)
    "%ProgramFiles%\md5deep\md5deep.exe" %*( systemy 32-bitowe)

    W hash.bat :
    @ECHO OFF
    "%ProgramW6432%\md5deep\hashdeep64.exe" %*(systemy 64-bitowe)
    "%ProgramFiles%\md5deep\hashdeep.exe" %*( systemy 32-bitowe)
    ...

Lub jeśli chcesz automatycznie przełączać się pomiędzy 32-bitowych i 64-bitowych plików binarnych dla WOW64, można umieścić pliki binarne 32-bit %ProgramFiles(x86)%i 64-tych, bit %ProgramW6432%, a następnie napisać swoje pliki wsadowe tak:

@ECHO OFF
SET cmd=hashdeep
IF "%ProgramFiles%" EQU "%ProgramW6432%" SET cmd=%cmd%64
"%ProgramFiles%\md5deep\%cmd%.exe" %*
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.