Vérifier l'intégrité des données d'un fichier txt
Résolu/Fermé
idiart33
Messages postés
172
Date d'inscription
samedi 12 octobre 2013
Statut
Membre
Dernière intervention
13 décembre 2020
-
13 déc. 2020 à 16:55
idiart33 Messages postés 172 Date d'inscription samedi 12 octobre 2013 Statut Membre Dernière intervention 13 décembre 2020 - 13 déc. 2020 à 21:26
idiart33 Messages postés 172 Date d'inscription samedi 12 octobre 2013 Statut Membre Dernière intervention 13 décembre 2020 - 13 déc. 2020 à 21:26
A voir également:
- Vérifier l'intégrité des données d'un fichier txt
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Verifier un lien - Guide
- Ouvrir un fichier .bin - Guide
2 réponses
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 918
Modifié le 13 déc. 2020 à 18:40
Modifié le 13 déc. 2020 à 18:40
Bonjour,
Voilà un exemple fonctionnel :
Le principe de fonctionnement : on calcule le hash (= l'empreinte) du fichier cible à l'aide la commande CERTUTIL, ensuite on compare ce hash avec le précédent hash stocké dans un fichier texte quelconque. On n'oublie pas de mettre à jour le fichier texte avec le nouveau hash.
Voilà un exemple fonctionnel :
@echo off
setlocal enableextensions enabledelayedexpansion
chcp 28591 >nul
set target=Z:\Projet.txt
set cookie=%TMP%\fingerprint123456789.txt
if not exist "%cookie%" (type NUL >"%cookie%")
for /f "delims=" %%A in ('certutil -hashfile %target% SHA256 ^| find /v ":"') do set new_hash=%%A
>nul findstr /lic:"!new_hash!" "%cookie%" && echo Le fichier est inchangé || echo Le contenu du fichier a été modifié
echo.!new_hash!>"%cookie%"
pause
exit
Le principe de fonctionnement : on calcule le hash (= l'empreinte) du fichier cible à l'aide la commande CERTUTIL, ensuite on compare ce hash avec le précédent hash stocké dans un fichier texte quelconque. On n'oublie pas de mettre à jour le fichier texte avec le nouveau hash.
idiart33
Messages postés
172
Date d'inscription
samedi 12 octobre 2013
Statut
Membre
Dernière intervention
13 décembre 2020
9
13 déc. 2020 à 19:13
13 déc. 2020 à 19:13
Merci infiniment !
Du coup je dois créer un fichier et stocker le résultat de celui-ci dedans pour comparer le résultat lors d'une nouvelle exécution ?
Du coup je dois créer un fichier et stocker le résultat de celui-ci dedans pour comparer le résultat lors d'une nouvelle exécution ?
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 918
Modifié le 13 déc. 2020 à 19:22
Modifié le 13 déc. 2020 à 19:22
Oui c'est déjà prévu dans l'exemple fourni, c'est le fichier qui est représenté par la variable appelée "cookie".
idiart33
Messages postés
172
Date d'inscription
samedi 12 octobre 2013
Statut
Membre
Dernière intervention
13 décembre 2020
9
13 déc. 2020 à 20:02
13 déc. 2020 à 20:02
Ah d'accord.
Mais le script me dit que le fichier à été modifié alors que ce n'est pas le cas
Mais le script me dit que le fichier à été modifié alors que ce n'est pas le cas
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 918
>
idiart33
Messages postés
172
Date d'inscription
samedi 12 octobre 2013
Statut
Membre
Dernière intervention
13 décembre 2020
13 déc. 2020 à 20:04
13 déc. 2020 à 20:04
Au tout premier lancement c'est normal car le fichier qui stocke l'empreinte n'existe pas encore.
idiart33
Messages postés
172
Date d'inscription
samedi 12 octobre 2013
Statut
Membre
Dernière intervention
13 décembre 2020
9
13 déc. 2020 à 20:06
13 déc. 2020 à 20:06
Je l'ai lancé une dizaine de fois, toujours la même réponse !
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 918
>
idiart33
Messages postés
172
Date d'inscription
samedi 12 octobre 2013
Statut
Membre
Dernière intervention
13 décembre 2020
13 déc. 2020 à 20:09
13 déc. 2020 à 20:09
Bizarre j'ai testé et re-testé ça fonctionne parfaitement chez moi.
Est-ce que tu aurais modifié quelque chose dans le script ?
Est-ce que tu aurais modifié quelque chose dans le script ?