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?

Brian Webster
źródło
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

John Sampson
źródło
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

akira
źródło
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.

SysAdmin1138
źródło
Ten skrypt PS1 autorstwa
Brian Reiter
6

Nie ma nic wbudowanego. Czy mogę zasugerować użycie HashTab ?

Matt Hanson
źródło
5

Arpoon Checksum jest również miły, ponieważ nie wymaga instalacji

Arpoon Checksum - Main Screen

Ohad Schneider
źródło
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" %*
Lèse majesté
źródło