30Aug

Que sont les hachages MD5, SHA-1 et SHA-256 et comment les vérifier?

Vous verrez parfois des hachages MD5, SHA-1 ou SHA-256 affichés aux côtés de téléchargements lors de vos voyages sur Internet, mais pas vraiment connu ce qu'ils sont. Ces chaînes de texte apparemment aléatoires vous permettent de vérifier que les fichiers que vous téléchargez ne sont pas corrompus ou falsifiés. Vous pouvez le faire avec les commandes intégrées à Windows, macOS et Linux.

Comment fonctionnent les hachages et comment ils sont utilisés pour la vérification des données

Les hachages sont les produits d'algorithmes cryptographiques conçus pour produire une chaîne de caractères. Souvent, ces chaînes ont une longueur fixe, indépendamment de la taille des données d'entrée. Jetez un coup d'œil sur le tableau ci-dessus et vous verrez que "Fox" et "Le renard roux saute sur le chien bleu" donnent la même longueur de sortie.

Maintenant, comparez le deuxième exemple du graphique au troisième, quatrième et cinquième. Vous verrez que, malgré un changement minime dans les données d'entrée, les hachages résultants sont tous très différents les uns des autres. Même si quelqu'un modifie une très petite partie des données d'entrée, le hachage va changer radicalement.

MD5, SHA-1 et SHA-256 sont toutes des fonctions de hachage différentes. Les créateurs de logiciels effectuent souvent un téléchargement de fichiers, comme un fichier. iso Linux ou même un fichier Windows. exe, et l'exécutent via une fonction de hachage. Ils offrent ensuite une liste officielle des hachages sur leurs sites Web.

De cette façon, vous pouvez télécharger le fichier puis exécuter la fonction de hachage pour confirmer que vous avez le vrai fichier original et qu'il n'a pas été corrompu pendant le processus de téléchargement ou trafiqué avec malveillance. Comme nous l'avons vu ci-dessus, même un petit changement dans le fichier changera radicalement le hachage.

Cela peut aussi être utile si vous avez un fichier provenant d'une source non officielle et que vous voulez confirmer que c'est légitime. Disons que vous avez un fichier. ISO Linux que vous avez obtenu quelque part et que vous voulez confirmer qu'il n'a pas été falsifié.Vous pouvez rechercher le hachage de ce fichier ISO spécifique en ligne sur le site Web de la distribution Linux. Vous pouvez ensuite l'exécuter via la fonction de hachage de votre ordinateur et confirmer que celle-ci correspond à la valeur de hachage attendue. Cela confirme que le fichier que vous avez est exactement le même fichier proposé au téléchargement sur le site de la distribution Linux, sans aucune modification.

Comment comparer les fonctions de hachage sur n'importe quel système d'exploitation

Dans cet esprit, regardons comment vérifier le hachage d'un fichier que vous avez téléchargé, et le comparer à celui que vous avez reçu. Voici des méthodes pour Windows, macOS et Linux. Les hachages seront toujours identiques si vous utilisez la même fonction de hachage sur le même fichier. Peu importe le système d'exploitation que vous utilisez.

Windows

Ce processus est possible sans logiciel tiers sous Windows grâce à PowerShell.

Pour commencer, ouvrez une fenêtre PowerShell en lançant le raccourci "Windows PowerShell" dans votre menu Démarrer.

Exécutez la commande suivante, en remplaçant "C: \ path \ to \ file.iso" par le chemin d'accès à tout fichier dont vous souhaitez afficher le hachage:

Get-FileHash C: \ chemin \ vers \ fichier.iso

Il seraPrenez le temps de générer le hachage du fichier, en fonction de la taille du fichier, de l'algorithme que vous utilisez et de la vitesse du lecteur sur lequel le fichier est activé.

Par défaut, la commande affichera le hachage SHA-256 pour un fichier. Cependant, vous pouvez spécifier l'algorithme de hachage que vous souhaitez utiliser si vous avez besoin d'un hachage MD5, SHA-1 ou autre.

Exécutez l'une des commandes suivantes pour spécifier un algorithme de hachage différent:

Get-FileHash C: \ chemin \ vers \ fichier.iso -Algorithme MD5 Get-FileHash C: \ chemin \ vers \ fichier.iso -Algorithme SHA1 Get-FileHashC: \ chemin \ vers \ fichier.iso -Algorithme SHA256 Get-FileHash C: \ chemin \ vers \ fichier.iso -Algorithme SHA384 Get-FileHash C: \ chemin \ vers \ fichier.iso -Algorithme SHA512 Get-FileHash C:\ path \ to \ file.iso -Algorithme MACTripleDES Get-FileHash C: \ chemin \ vers \ fichier.iso -Algorithme RIPEMD160

Comparez le résultat de la fonction de hachage avec le résultat attendu. S'il s'agit de la même valeur, le fichier n'a pas été altéré, altéré ou modifié de l'original.

img_5894fdde80f06

macOS

macOS inclut des commandes pour visualiser différents types de hachages. Pour y accéder, lancez une fenêtre Terminal. Vous le trouverez à Finder & gt;Applications & gt;Utilitaires & gt;Terminal.

La commande md5 affiche le hachage MD5 d'un fichier:

md5 /path/to/

La commande shasum affiche le hachage SHA-1 d'un fichier par défaut. Cela signifie que les commandes suivantes sont identiques:

shasum /path/to/ fichier shasum -a 1 /path/to/ fichier

Pour afficher le hachage SHA-256 d'un fichier, exécutez la commande suivante:

shasum -a 256 /path/to/ fichier

Linux

Sous Linux, accédez à unTerminal et exécutez l'une des commandes suivantes pour afficher le hachage pour un fichier, selon le type de hachage que vous souhaitez afficher:

md5sum /path/to/ fichier sha1sum /path/to/ fichier sha256sum /path/to/ fichier

Certains hachages sont cryptographiquement signé pour encore plus de sécurité

Alors que les hachagespeut vous aider à confirmer qu'un fichier n'a pas été falsifié, il y a toujours une voie d'attaque ici. Un attaquant pourrait prendre le contrôle du site web d'une distribution Linux et modifier les hachages apparaissant dessus, ou un attaquant pourrait effectuer une attaque man-in-the-middle et modifier la page web en transit si vous accédiez au site via HTTP au lieu deHTTPS crypté.

C'est pourquoi les distributions Linux modernes fournissent souvent plus que des hachages répertoriés sur les pages Web. Ils signent cryptographiquement ces hachages pour les protéger contre les attaquants qui pourraient tenter de modifier les hachages. Vous voudrez vérifier la signature cryptographique pour vous assurer que le fichier hash a bien été signé par la distribution Linux si vous voulez être absolument sûr que le hash et le fichier n'ont pas été falsifiés.

La vérification de la signature cryptographique est un processus plus complexe. Lisez notre guide pour vérifier que les ISO de Linux n'ont pas été altérées pour des instructions complètes.

Crédit d'image: Jorge Stolfi / Wikimedia