Bonjour !
J'essaie de comparer le MD5 d'un fichier local et d'un fichier distant (à priori le même fichier que je copie/colle dans mon repertoire www de wamp), mais je ne comprends pas les "checksum" ne correspondent pas....
Voici le code pour les checksum :
Et à ma grande surprise j'obtiens ceci en sortie :
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
20
21
22
23
24
25
26 #-*- coding: utf-8 -*- import hashlib import requests def md5Checksum(filePath,url): if url==None: with open(filePath, 'rb') as fh: m = hashlib.md5() while True: data = fh.readline(8192) #print data #OUTPUT DE DATA if not data: break m.update(data) return m.hexdigest() else: r = requests.get(url) m = hashlib.md5() for line in r.iter_lines(chunk_size=8192): #print line #OUTPUT DE LINE m.update(line) return m.hexdigest() print "checksum_local :",md5Checksum("projectg715gb.pak",None) print "checksum_remote :",md5Checksum(None,"http://testpangya.ddns.net/projectg715gb.pak")
Taille de Projectg715gb.pak = 14.7Mo
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2checksum_local : 9d33806fdebcb91c3d7bfee7cfbe4ad7 checksum_remote : a13aaeb99eb020a0bc8247685c274e7d
Cependant ce code fonctionne sur de petits fichiers, si je prends un fichier texte "toto.txt" de taille 1ko les checksum vont correspondre....
Quelqu'un peut-il m'expliquer pourquoi svp ?Merci d'avance !
PS : Je débute sur les checksum donc peut-être que je m'y suis mal pris....Merci pour votre indulgence![]()
Partager