Bonjour,

J'ai un fichier texte contenant des hash "hash.txt" ligne par ligne (j'ai enlever les sauts de lignes donc tout est à la suite), et j'ai besoin pour un autre script de lire ces lignes une par une.

Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import hashlib
 
path = ['Fichiers\Informationstte.png', 'Fichiers\image\InformationsRH.png', 'Fichiers\Iso\debian-8.7.1-amd64-CD-1.iso', ]
 
for p in path:
    with open(p, 'rb') as afile:
        file = afile.read()
        hashlib.md5().update(file)
        m = hashlib.md5(file).hexdigest()
        print(m)
 
for p in path:
    with open("hash.txt") as f:
        for line in f:
            l = (line.rstrip())
            if m == l:
                print("Le fichier " + p + " n a pas ete modifie")
            else:
                print("Le fichier " + p + " a ete modifie")
En fait ceci calcul le hash des fichiers, et le compare avec ceux qui sont marqués dans le fichier texte.
Voici le résultat :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
>>>10e05bb6f2edd3ce5a36acde1c82c0f8
>>>e2563b855b6e28cac38e05559c5dfb7d
>>>eb8bdd4d233fab9ab980c4ee3ac0ae4a
>>>Le fichier Fichiers\Informationstte.png a ete modifie
>>>Le fichier Fichiers\Informationstte.png a ete modifie
>>>Le fichier Fichiers\Informationstte.png n a pas ete modifie
>>>Le fichier Fichiers\image\InformationsRH.png a ete modifie
>>>Le fichier Fichiers\image\InformationsRH.png a ete modifie
>>>Le fichier Fichiers\image\InformationsRH.png n a pas ete modifie
>>>Le fichier Fichiers\Iso\debian-8.7.1-amd64-CD-1.iso a ete modifie
>>>Le fichier Fichiers\Iso\debian-8.7.1-amd64-CD-1.iso a ete modifie
>>>Le fichier Fichiers\Iso\debian-8.7.1-amd64-CD-1.iso n a pas ete modifie
On peux voir que les hash calculés sont différents donc ça c'est bon, mais ca me prend pour chaque hash les trois chemins, je me doute qu'il y a un problème avec ma boucle For, mais je ne vois pas comment modifier ceci.

Une petite idée?

Merci d'avance!