### Checksum d'un fichier avec certuils #theme/cyber Lorsque vous téléchargez un fichier (comme une image ISO), il est important de s'assurer qu'il n'a pas été corrompu ou altéré. Pour vérifier son **intégrité**, il faut vérifier son **empreinte numérique** (aussi nommée **hash** ou **somme de contrôle** ou **checksum**). > [!info] À savoir ! <span style="font-weight: normal; color: var(--text-normal)">Pour comprendre ce qu'est une somme de contrôle consultez les guide : [[guide-comprendre-le-hash|Qu'est-ce qu'une somme de contrôle ?]].</span> Pour calculer la **somme de contrôle** d'un fichier en ligne de commande sous Windows : - Ouvrez une invite de commande `cmd.exe` - Positionnez-vous dans le répertoire de travail qui contient le fichier, par exemple `%userprofile%\Downloads\`. - Exécuter `certutil` en utilisant la syntaxe : ```cmd certutil.exe -hashfile <file> <AlgoHachage> ``` Le choix de l'**algorithme**, ou **fonction de hachage cryptographique**, dépend de l'empreinte proposée sur le site de téléchargement. Voici une liste des algorithmes pris en charge par `certutils` : - MD2, MD4, MD5 - SHA1, SHA256, SHA384, SHA512. Par exemple, pour calculer le hash du fichier "debian-13.1.0-amd64-netinst.iso" en avec l'algorithme de hachage "SHA512" : ``` certutil -hashfile debian-13.1.0-amd64-netinst.iso SHA512 ``` Le hash sera calculé et affiché : ![[_img-kb-checksum-win-certutils.png]] Il suffit ensuite de comparer l'empreinte SHA512 calculée par **certutil** avec l'empreinte fournie sur le site de téléchargement de votre fichier. Par exemple sur sur le site debian.org via le fichier [SHA512SUMS](https://cdimage.debian.org/debian-cd/13.1.0/amd64/iso-cd/SHA512SUMS). En PowerShell, utilisez la fonction `-eq` pour comparer deux chaines de caractères. Par exemple ci-dessous, lorsque 2 chaînes de caractères sont identiques, la fonction renvoie la valeur `True` : ![[_img-kb-checksum-win-certutils-1.png|300]] PowerShell propose également la commande native `Get-FileHash`, plus moderne et plus simple que la commande `certutil` (cf. "[[kb-checksum-win-powershell|Checksum d'un fichier sous PowerShell (Get-FileHash)]]").