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

Existe-t-il un utilitaire de somme de contrôle intégré sous Windows 7 ?

Existe-t-il un utilitaire de somme de contrôle/hachage intégré sous Windows 7 ?

Réponses (26)

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

CertUtil est un utilitaire Windows préinstallé qui peut être utilisé pour générer des sommes de contrôle de hachage :

certUtil -hashfile pathToFileToCheck [HashAlgorithm]

HashAlgorithm choices : MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512

Ainsi, par exemple, ce qui suit génère une somme de contrôle MD5 pour le fichier C:\TEMP\MyDataFile.img :

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

Pour obtenir une sortie similaire à celle des systèmes *Nix, vous pouvez ajouter un peu de magie PowerShell :

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

Il existe un utilitaire intégré, comme spécifié dans cette autre réponse .

Vous pouvez cependant souhaiter utiliser cette application gratuite appelée HashTab qui s'intègre parfaitement à l'explorateur Windows en enregistrant un… enfin, un onglet dans la boîte de dialogue des propriétés des fichiers. C'est plutôt sympa.

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

J'utilise HashCheck dernière version ) qui s'intègre comme une page de propriétés pour les fichiers et comprend un menu contextuel pour comparer avec les fichiers de hash check (SFV).

C'est gratuit, et la source est disponible.

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

Il y a l'utilitaire FCIV de Microsoft, le Microsoft File Checksum Integrity Verifier lien de téléchargement ).

L'outil Microsoft File Checksum Integrity Verifier est un utilitaire en ligne de commande non pris en charge qui calcule les hachages cryptographiques MD5 ou SHA1 des fichiers.

Il n'affiche pas Windows 7 dans la configuration requise mais je viens de l'utiliser dans Windows 8 et il a fonctionné.

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

PowerShell version 4 et supérieure inclut le cmdlet Get-FileHash .

powershell get-filehash -algorithm md5 <file_to_check>

Utilisez doskey pour créer un alias persistant et plus facile à retenir.

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

La nouvelle version de 7-Zip vous donne également la possibilité de faire des sommes de contrôle par un simple clic droit (cela n'inclut pas MD5 ). Il y a SHA-1 , SHA-256 , CRC-32, CRC-64, etc.

.

Pour MD5, vous pouvez télécharger HashTab et vérifier en cliquant avec le bouton droit et ensuite les propriétés.

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

En voici une que j'ai déjà utilisée et qui s'intègre parfaitement à la boîte de dialogue “Propriétés” d'Explorer : Propriétés d'été . C'est une source ouverte, et une version x64 est également disponible.

J'aime également le FileAlyzer de Safer Networking, qui offre des fonctionnalités supplémentaires. Mais juste pour les sommes de contrôle, Summer Properties est léger et fait le travail.

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

J'ai trouvé ce script PowerShell :

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
            }
        }
    }
}

Source : Calcul de SHA1 dans PowerShell

Il exploite le .NET que vous avez installé, je suppose

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

J'ajoute ceci ici uniquement parce que je n'ai pas vu d'exemples de powerhell entièrement fonctionnels, prêts pour le copier-coller :

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 Mise à jour :

La sortie de certutil semble avoir changé depuis Windows 8, donc mon ancien filtre pour isoler le hachage ne fonctionne plus. Les espaces supplémentaires ont également disparu - une chose de moins à se soucier lors de l'écriture de scripts. Voici la nouvelle démo de la fonction copier-coller :

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:\>

Pour rendre cette fonction plus résistante à la casse lors d'un autre changement futur de certutil, nous devrions chercher des lignes avec des caractères non hexadécimaux à filtrer : [^0-9a-zA-Z]. Cela devrait également rendre le système plus sûr pour les autres langues et lieux.

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

Pourquoi cette regex anti-hex est-elle si étrange ? Voir cette question pour apprendre comment les plages de regex dans findstr ne fonctionnent pas comme elles le devraient. J'ai inclus un caractère espace supplémentaire pour la rétrocompatibilité avec les anciennes versions de certutil, mais il est optionnel.

Notez que la valeur par défaut de powerhell Get-FileHash est SHA256, alors que certutil est toujours SHA1. Spécifiez donc votre algorithme explicitement si nécessaire. Vous pouvez rapidement vérifier les options disponibles comme ceci :

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 File Checksum Integrity Verifier _. Il peut calculer les valeurs de hachage MD5 et SHA-1 .

Télécharger, extraire les fichiers, puis ouvrir une invite de commande, aller au chemin extrait et ensuite taper la commande suivante :

fciv -md5 filepath\filename.extension

Par exemple :

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

Malheureusement, pas que je sache, mais la suite Sysinternals de Microsoft comprend un bel outil appelé * sigcheck **.

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

Un fichier de lot basé sur le commentaire de pbarney à la réponse ayant reçu le plus de votes positifs : Ceci copie le hachage MD5 de tout fichier glissé sur le fichier de traitement par lots dans le presse-papiers :

@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

Pour en faire un élément de menu contextuel à la place :

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

Il s'agit simplement d'un script shell cmd qui utilise la réponse de tedr2 mais supprime les lignes et espaces de sortie inutiles :

:: 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

La sortie peut être redirigée vers un fichier si nécessaire :

@echo %str% > %3

par exemple

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

C'est exactement ce que fait le menu contextuel du MD5 et le 003. Il ajoute une option * MD5 ** au menu contextuel des fichiers :

Le menu contextuel MD5 est une extension shell gratuite pour Windows qui affiche la somme de hachage MD5 du fichier sélectionné.

Il indique qu'il est compatible avec Windows 95, 98, ME, NT, 2000 et XP, bien qu'il fonctionne pour moi parfaitement bien sur Windows 7. C'est un minuscule téléchargement (238 KB) et il comprend tout ce dont vous avez besoin.

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

Cygwin contient un utilitaire md5sum.exe qui devrait faire ce que vous voulez.

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

1. checksum

J'utilise checksum utilitaire de ligne de commande.

  • Open source ,
  • Support md5, sha1, sha256 et sha512. Utilisation :

checksum [-t=sha1|sha256|sha512|md5] [-c=signature] [-f=]filepath


2. Arguments de la ligne de commande

  • -?, --help, -h Imprime les options.
  • -f, --file=VALUE Nom de fichier.
  • -t, --type, --hashtype=VALUE Hashtype Par défaut, md5.
  • -c, --check=VALUE Facultatif : vérifier - la signature que vous voulez vérifier. Non sensible à la casse.

3. Exemples d'utilisation

# 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

Quelque chose comme ça : winmd5sum . Celui-ci est aussi joli : sendtoMD5 - clic droit, envoyer à …, et il vous donne le résultat.

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

Ce n'est pas un utilitaire intégré, mais c'est une très bonne option http://checksumcompare.sanktuaire.com

Vous pourriez comparer les sommes de contrôle par fichier et/ou les résumés si deux dossiers diffèrent ou sont identiques.

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

Vous pouvez utiliser MD5sums for Windows , un téléchargement de seulement 28 KB Cygwin pourrait être excessif si tout ce que vous voulez faire est de calculer les hachages MD5).

La façon la plus simple de l'utiliser est d'utiliser Explorer pour glisser et déposer des fichiers sur md5sums.exe afin d'obtenir leurs hachages MD5.

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

La bonne réponse est bien sûr, oui, CertUtil (voir la réponse de tedr2 ).

Mais je vais ajouter le File Checksum Verifier gratuit de Penteract qui, je pense, est l'un des programmes les plus conviviaux. (Avertissement : je suis affilié à Penteract.)

Quelques uns de ses avantages :

  • Compare les hachages calculés et attendus pour vous.
  • Minimaliste - pas d'élément dans les menus contextuels des fichiers, pas d'onglet supplémentaire sur les propriétés des fichiers.

Pour vérifier l'intégrité de ce programme (contre les attaques man-in-the-middle attacks ) - il télécharge via une connexion sécurisée.

Plus : gratuit, hors ligne (vous n'avez donc pas besoin de télécharger vos fichiers), convivial (faites glisser un fichier et obtenez le résultat), se lance à partir du menu de démarrage (pas besoin de chercher l'exécutable téléchargé quand vous voulez l'utiliser dans un an), et supporte MD5, SHA1, SHA256, etc.

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

HashTab 3.0 est une extension shell gratuite qui calcule de nombreuses sommes de contrôle, y compris MD5. Elle est intégrée comme un nouvel onglet dans les propriétés du fichier.

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

Vous pouvez essayer msys2, c'est ici .

Tapez simplement (algorithme)sum. (algorithme) est l'algorithme de hachage que vous voulez utiliser, par exemple md5, sha1, sha256 …

Contrairement à Cygwin, cet outil est portable, il vous suffit de télécharger le fichier .zip et de l'extraire où vous voulez. Vous pouvez l'utiliser par un simple clic (msys2.exe).

Hop cet outil vous aidera.

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

Eh bien, j'ai fait un programme pour calculer quelques hachages à partir d'un fichier. J'espère que cela vous aidera.

Qu'est-ce que cela fait ? Il calcule les hachages SHA-1 , SHA-384, MD5 et SHA-256 . Eh bien, c'est à peu près tout :)

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

Il existe une centaine d'outils tiers. J'utilise MD5Hash. Pour les téléchargements avec des fichiers sfv, il suffit d'utiliser TeraCopy pour vérifier les hachages.

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

Pour une solution qui fonctionne sous Windows ou dans n'importe quel autre environnement, utilisez Python.

  1. installez Python – un installateur Windows est fourni sur https://www.python.org/downloads/

  2. téléchargez une implémentation testée de cksum, par exemple http://pastebin.com/raw.php?i=cKATyGLb – sauvegardez le contenu de ce c:\cksum.py ou de tout autre programme qui vous convient

Puis, pour effectuer une somme de contrôle :

python c:\cksum.py INPUTFILE

Pas aussi rapide qu'un utilitaire compilé, mais compatible avec Unix cksum et fonctionnant partout.

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

J'aime digestIT , bien qu'il semble être assez ancien et peut-être pas entretenu.