2011-02-14 18:38:56 +0000 2011-02-14 18:38:56 +0000
707
707

Gibt es ein integriertes Prüfsummenprogramm unter Windows 7?

Gibt es ein integriertes Prüfsummen-/Hash-Programm unter Windows 7?

Antworten (26)

1237
1237
1237
2015-04-06 15:21:26 +0000

CertUtil ist ein vorinstalliertes Windows-Dienstprogramm, das zur Erzeugung von Hash-Prüfsummen verwendet werden kann:

certUtil -hashfile pathToFileToCheck [HashAlgorithm]

HashAlgorithmus-Auswahl: MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512

So erzeugt z.B. das Folgende eine MD5-Prüfsumme für die Datei C:\TEMP\MyDataFile.img:

CertUtil -hashfile C:\TEMP\MyDataFile.img MD5

Um eine Ausgabe ähnlich wie bei *Nix-Systemen zu erhalten, können Sie etwas PowerShell-Magie hinzufügen:

$(CertUtil -hashfile C:\TEMP\MyDataFile.img MD5)[1] -replace " ",""
201
201
201
2011-02-14 18:42:47 +0000

Es gibt ein eingebautes Dienstprogramm, wie in diese andere Antwort angegeben.

Sie können jedoch diese Freeware-Anwendung namens HashTab verwenden, die sich nahtlos in den Windows-Explorer integrieren läßt, indem Sie ein… na ja, ein Register im Eigenschaften-Dialog von Dateien registrieren. Das ist ziemlich süß.

183
183
183
2009-12-30 05:15:56 +0000

Ich verwende HashCheck neueste Version ], das sich als Eigenschaftsseite für Dateien integriert und ein Kontextmenü zum Vergleich gegen HashCheck-Dateien (SFV) enthält.

Es ist kostenlos, und der Quellcode ist verfügbar.

85
85
85
2012-09-05 11:51:42 +0000

Es gibt das FCIV-Dienstprogramm von Microsoft, den Microsoft File Checksum Integrity Verifier Download-Link ).

Das Microsoft File Checksum Integrity Verifier-Tool ist ein nicht unterstütztes Befehlszeilenprogramm, das kryptographische MD5- oder SHA1-Hashes für Dateien berechnet.

Es zeigt Windows 7 in den Systemanforderungen nicht an, aber ich habe es gerade in Windows 8 verwendet und es hat funktioniert.

79
79
79
2015-05-22 20:58:13 +0000

PowerShell Version 4 und höher enthält das Cmdlet “ Get-FileHash ”.

powershell get-filehash -algorithm md5 <file_to_check>

Verwenden Sie doskey , um einen dauerhaften Alias zu erstellen, der leichter zu merken ist.

doskey sha1sum=powershell get-filehash -algorithm sha1 "$1"
doskey md5sum=powershell get-filehash -algorithm md5 "$1"
40
40
40
2016-01-11 21:31:41 +0000

Die neue Version von 7-Zip bietet Ihnen auch die Möglichkeit, Prüfsummen einfach per Rechtsklick einzugeben (dies schließt MD5 nicht mit ein). Sie verfügt über SHA-1 , SHA-256 , CRC-32, CRC-64 usw.

.

Für MD5 können Sie HashTab herunterladen und durch Rechtsklick und dann Eigenschaften prüfen.

24
24
24
2009-12-30 00:55:29 +0000

Hier ist eine, die ich schon früher verwendet habe und die sich gut in den “Eigenschaften”-Dialog des Explorers integrieren lässt: Sommer-Eigenschaften . Es ist quelloffen , und eine x64-Version ist ebenfalls verfügbar.

Mir gefällt auch Safer Networking’s FileAlyzer , das ebenfalls zusätzliche Funktionen bietet. Aber nur für Prüfsummen, Summer Properties ist leichtgewichtig und erfüllt seine Aufgabe.

14
14
14
2011-02-14 19:45:15 +0000

Ich habe dieses PowerShell-Skript gefunden:

param([switch]$csv, [switch]$recurse)

[Reflection.Assembly]::LoadWithPartialName("System.Security") | out-null
$sha1 = new-Object System.Security.Cryptography.SHA1Managed
$pathLength = (get-location).Path.Length + 1

$args | %{
    if ($recurse) {
        $files = get-childitem -recurse -include $_
    }
    else {
        $files = get-childitem -include $_
    }

    if ($files.Count -gt 0) {
        $files | %{
            $filename = $_.FullName
            $filenameDisplay = $filename.Substring($pathLength)

            if ($csv) {
                write-host -NoNewLine ($filenameDisplay + ",")
            } else {
                write-host $filenameDisplay
            }

            $file = [System.IO.File]::Open($filename, "open", "read")
            $sha1.ComputeHash($file) | %{
                write-host -NoNewLine $_.ToString("x2")
            }
            $file.Dispose()

            write-host
            if ($csv -eq $false) {
                write-host
            }
        }
    }
}

Quelle: Berechnen von SHA1 in PowerShell

Es nutzt .NET, von dem ich annehme, dass Sie es installiert haben

11
11
11
2016-10-19 01:33:24 +0000

Ich füge dies hier nur hinzu, weil ich keine voll funktionsfähigen Power-Shell-Beispiele gesehen habe, die zum Kopieren und Einfügen bereit sind:

C:\> powershell "Get-FileHash %systemroot%\system32\csrss.exe"

Algorithm Hash
--------- ----
SHA256 CB41E9D0E8107AA9337DBD1C56F22461131AD0952A2472B4477E2649D16E...

C:\> powershell -c "(Get-FileHash -a MD5 '%systemroot%\system32\csrss.exe').Hash"

B2D3F07F5E8A13AF988A8B3C0A800880

C:\> CertUtil -hashfile "%systemroot%\system32\csrss.exe" MD5 | findstr -v file
b2 d3 f0 7f 5e 8a 13 af 98 8a 8b 3c 0a 80 08 80

C:\>

2019 Update:

Die Ausgabe von certutil scheint sich seit Windows 8 geändert zu haben, so dass mein alter Filter zum Isolieren des Hashes nicht mehr funktioniert. Die überflüssigen Leerzeichen sind auch weg - eine Sache weniger, um die man sich bei der Skripterstellung Sorgen machen muss. Hier ist die neue kopier- und einfügbare Demo:

C:\>CertUtil -hashfile "%systemroot%\system32\csrss.exe" | findstr -v ash
0300c7833bfba831b67f9291097655cb162263fd

C:\>CertUtil -hashfile "%systemroot%\system32\csrss.exe" SHA256 | findstr -v :
a37d616f86ae31c189a05b695571732073b9df97bf5a5c7a8ba73977ead3e65b

C:\>ver

Microsoft Windows [Version 10.0.16299.1451]

C:\>

Um dies gegen den Bruch durch eine weitere zukünftige Änderung in certutil widerstandsfähiger zu machen, sollten wir nach Zeilen mit Nicht-Hex-Zeichen suchen, um diese herauszufiltern: [^0-9a-zA-Z]. Das sollte es auch für andere Schauplätze und Sprachen sicherer machen.

C:\>CertUtil -hashfile "C:\windows\fonts\arial.ttf" | findstr -vrc:"[^0123-9aAb-Cd-EfF]"
12c542ef8c99cf3895ad069d31843a5210857fdc

Warum ist dieses tatsächliche Anti-Hex-Regex so seltsam? Siehe diese Frage , um zu erfahren, wie Regex-Bereiche in findstr nicht so funktionieren, wie sie sollten. Ich habe ein zusätzliches Leerzeichen eingefügt, um die Abwärtskompatibilität mit älteren Versionen von certutil zu gewährleisten, aber das ist optional.

Beachten Sie, dass die Power-Shell Get-FileHash standardmäßig auf SHA256 eingestellt ist, während certutil immer noch auf SHA1 voreingestellt ist. Geben Sie daher Ihren Algorithmus bei Bedarf explizit an. Sie können die verfügbaren Optionen wie folgt schnell überprüfen:

C:\>powershell -c "Get-FileHash -?" | findstr gori

    Get-FileHash [-Path] <string[]> [-Algorithm {SHA1 | SHA256 | SHA384 | SHA512 | MACTripleDES | MD5 | RIPEMD160}]
    Get-FileHash -LiteralPath <string[]> [-Algorithm {SHA1 | SHA256 | SHA384 | SHA512 | MACTripleDES | MD5 |
    Get-FileHash -InputStream <Stream> [-Algorithm {SHA1 | SHA256 | SHA384 | SHA512 | MACTripleDES | MD5 | RIPEMD160}]

C:\>certutil -hashfile -v /? | findstr gori

  CertUtil [Options] -hashfile InFile [HashAlgorithm]
Hash algorithms: MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512
8
8
8
2013-03-17 20:26:52 +0000

Microsoft-Datei-Prüfsummenintegritätsprüfer _. Er kann MD5 und SHA-1 Hashwerte berechnen.

Herunterladen, Extrahieren der Dateien, dann eine Eingabeaufforderung öffnen, zum extrahierten Pfad gehen und dann den folgenden Befehl eingeben:

fciv -md5 filepath\filename.extension

Zum Beispiel:

fciv -md5 d:\programs\setup.exe
7
7
7
2014-09-13 14:14:08 +0000

Leider nicht, dass ich wüsste, aber Microsofts Suite Sysinternals enthält ein nettes Tool namens * sigcheck **.

7
7
7
2016-05-24 09:59:53 +0000

Eine Batch-Datei, die auf pbarneys Kommentar zu der Antwort mit den meisten Stimmen basiert: Dies kopiert den MD5-Hash der Datei, die auf die Stapeldatei gezogen wurde, in die Zwischenablage:

@ECHO OFF
FOR /f "tokens=*" %%i IN ('@certutil -hashfile %1 MD5 ^| find /v "hash of file" ^| find /v "CertUtil"') DO SET r=%%i
SET r=%r: =%
ECHO %r% | clip

Um ihn stattdessen zu einem Kontextmenüeintrag zu machen:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\Get MD5]
@="Copy MD5 to Clipboard"

[HKEY_CLASSES_ROOT\*\shell\Get MD5\command]
@="\"C:\<PATH TO BAT FILE>\getMD5.bat\" \"%1\""
4
4
4
2017-09-02 13:47:32 +0000

Dies ist nur ein cmd-Shell-Skript, das tedr2’s Antwort verwendet, aber die überflüssigen Ausgabezeilen und Leerzeichen entfernt:

:: hash.cmd : Get a hash of a file
:: p1: file to be hashed
:: p2: Hash algorithm in UPPERCASE
:: p3: Output file

@setlocal
@for /f "tokens=*" %%a in (
'@certutil -hashfile %1 %2 ^|find /v "hash of file" ^|find /v "CertUtil"'
) do @(
  @set str=%%a
)
@set str=%str: =%
@echo %str%
@endlocal

Die Ausgabe kann bei Bedarf in eine Datei umgeleitet werden:

@echo %str% > %3

z.B.

sys> \dev\cmd\hash.cmd MyApp.dll SHA1
8ae6ac1e90ccee52cee5c8bf5c2445d6a92c0d4f
4
4
4
2009-12-30 04:08:39 +0000

MD5-Kontextmenü tut genau dies. Es fügt eine Option * MD5 ** zum Kontextmenü von Dateien hinzu:

MD5-Kontextmenü ist eine Freeware-Shell-Erweiterung für Windows, die die MD5-Hash-Summe der ausgewählten Datei anzeigt.

Es sagt, es sei kompatibel mit Windows 95, 98, ME, NT, 2000 und XP, obwohl es für mich unter Windows 7 vollkommen problemlos funktioniert. Es ist ein winziger Download (238 KB) und enthält alles, was Sie brauchen.

3
3
3
2012-11-18 00:01:54 +0000

Cygwin enthält ein Dienstprogramm md5sum.exe, das tun sollte, was Sie wollen.

2
2
2
2017-01-04 12:10:05 +0000

1. Prüfsumme

Ich verwende Prüfsumme Befehlszeilen-Dienstprogramm.

Verwendung:

Prüfsumme [-t=sha1|sha256|sha512|md5] [-c=Signatur] [-f=]Dateipfad


2. Befehlszeilenargumente

  • -?, --help, -h Druckt die Optionen aus.
  • -f, --file=VALUE Dateiname.
  • -t, --type, --hashtype=VALUE Hashtype Standardmäßig auf md5 gesetzt. Groß-/Kleinschreibung wird nicht berücksichtigt.

3. Beispiele für die Verwendung von

# Check md5 for "E:\Саша Неотразима\Sasha-Irresistible.exe" file
SashaChernykh@DESKTOP-0G54NVG E:\Саша Неотразима
$ checksum -f "E:\Саша Неотразима\Sasha-Irresistible.exe"
342B45537C9F472B93A4A0C5997A6F52
# Check sha256
SashaChernykh@DESKTOP-0G54NVG E:\Саша Неотразима
$ checksum -f "E:\Саша Неотразима\Sasha-Irresistible.exe" -t=sha256
F6286F50925C6CBF6CBDC7B9582BFF833D0808C04283DE98062404A359E2ECC4
# Correct 41474147414741474147 sha256 hash or not?
SashaChernykh@DESKTOP-0G54NVG E:\Саша Неотразима
$ checksum -f "E:\Саша Неотразима\Sasha-Irresistible.exe" -t=sha256 -c 41474147414741474147
Error - hashes do not match. Actual value was 'F6286F50925C6CBF6CBDC7B9582BFF833D0808C04283DE98062404A359E2ECC4'
# One more attempt
SashaChernykh@DESKTOP-0G54NVG E:\Саша Неотразима
$ checksum -f "E:\Саша Неотразима\Sasha-Irresistible.exe" -t=sha256 -c F6286F50925C6CBF6CBDC7B9582BFF833D0808C04283DE98062404A359E2ECC4
Hashes match..
1
1
1
2009-12-30 00:57:03 +0000

Etwas in der Art: winmd5sum . Das hier ist auch schön: sendtoMD5 - Rechtsklick, senden an …, und man erhält das Ergebnis.

1
1
1
2017-06-26 19:14:09 +0000

Dies ist kein eingebautes Dienstprogramm, aber es ist eine sehr gute Option http://checksumcompare.sanktuaire.com

Sie könnten die Prüfsumme nach Datei und/oder Zusammenfassungen vergleichen, wenn zwei Ordner sich unterscheiden oder identisch sind.

1
1
1
2012-11-18 00:11:17 +0000

Sie können MD5sums for Windows verwenden, ein Download von nur 28 KB Cygwin könnte ein Overkill sein, wenn Sie nur MD5-Hashes berechnen wollen).

Am einfachsten ist es, den Explorer zu verwenden, um Dateien per Drag & Drop auf md5sums.exe zu ziehen, um ihre MD5-Hashes zu erhalten.

1
1
1
2015-08-31 21:35:34 +0000

Die richtige Antwort ist natürlich, ja, CertUtil (siehe tedr2’s Antwort ).

Aber ich füge noch Penteract’s kostenloses File Checksum Verifier hinzu, das meiner Meinung nach eines der benutzerfreundlichsten Programme ist. (Haftungsausschluss: Ich bin mit Penteract verbunden.)

Einige seiner Vorteile:

  • Vergleicht die berechneten und erwarteten Hashes für Sie.
  • Minimalistisch - kein Eintrag in den Kontext-Menüs der Dateien, kein extra Tab auf den Eigenschaften der Dateien.

Zur Überprüfung der Integrität dieses Programms (gegen Man-in-the-Middle-Angriffe ) - es wird über eine sichere Verbindung heruntergeladen.

Plus: kostenlos, offline (damit Sie Ihre Dateien nicht hochladen müssen), benutzerfreundlich (ziehen Sie eine Datei hinein und erhalten Sie das Ergebnis), startet über das Startmenü (Sie brauchen nicht nach der heruntergeladenen ausführbaren Datei zu suchen, wenn Sie sie in einem Jahr benutzen wollen) und unterstützt MD5, SHA1, SHA256 usw.

1
1
1
2009-12-30 06:12:33 +0000

HashTab 3.0 ist eine freie Shell-Erweiterung, die viele Prüfsummen, einschließlich MD5, berechnet. Sie ist als neuer Tab in den Dateieigenschaften integriert.

1
1
1
2018-07-07 09:29:40 +0000

Sie können msys2 versuchen, es ist hier .

Geben Sie einfach (Algorithmus)summe ein. (Algorithmus) ist der Hash-Algorithmus, den Sie verwenden wollen, z.B. md5, sha1, sha256 …

Im Gegensatz zu Cygwin ist dieses Tool portabel, Sie brauchen nur die .zip-Datei herunterzuladen und an beliebiger Stelle zu extrahieren. Sie können es mit einem einfachen Klick benutzen(msys2.exe).

Hop dieses Tool wird Ihnen helfen.

-1
-1
-1
2014-09-08 18:50:39 +0000

Nun, ich habe ein Programm gemacht, um einige Hashes aus einer Datei zu berechnen. Ich hoffe, es hilft Ihnen.

Was macht das? Es berechnet den SHA-1 Hash, SHA-384 Hash, MD5 Hash und SHA-256 Hash. Nun, das war’s ungefähr :)

-1
-1
-1
2011-02-16 08:27:33 +0000

Es gibt etwa 100 Tools von Drittanbietern. Ich verwende MD5Hash. Für Downloads mit sfv-Dateien verwenden Sie einfach TeraCopy , um die Hashes zu überprüfen.

-2
-2
-2
2014-08-22 19:44:02 +0000

Für eine Lösung, die unter Windows oder fast jeder anderen Umgebung funktioniert, verwenden Sie Python.

  1. installieren Sie Python – ein Windows-Installationsprogramm finden Sie unter https://www.python.org/downloads/

  2. laden Sie eine getestete cksum-Implementierung herunter, z.B. http://pastebin.com/raw.php?i=cKATyGLb – speichern Sie den Inhalt dieses Programms, um z.B. c:\cksum.py zu sagen, oder wo immer Sie es bequem finden

Dann eine Prüfsumme durchzuführen:

python c:\cksum.py INPUTFILE

Nicht so schnell wie ein kompiliertes Dienstprogramm, aber kompatibel mit Unix cksum und läuft überall.

-3
-3
-3
2014-06-16 22:08:04 +0000

Mir gefällt digestIT , obwohl es ziemlich alt und vielleicht nicht gepflegt zu sein scheint.