wired md5 hashing problem

  • Thread starter Matthias =?ISO-8859-1?Q?G=FCntert?=
  • Start date
M

Matthias =?ISO-8859-1?Q?G=FCntert?=

Hello list-members

i am in the process of writing a python script to backup my data. Now I
would like to implement md5/sha1 hashes.

# do md5 fingerprinting
if config.get("global", "crc") == "md5":
m = md5.new()
# open the file
f = open(fname, "rb")
while 1:
block = f.read(1024*1024)
if not block:
break
# generate the hash
m.update(block)
f.close()

# write the results properly formated to a file
fd = file(fname + ".md5", "w")
fd.write(m.hexdigest())
fd.write(" " + fname + "\n")
fd.close()


mguentert@uranos > md5sum -c backup.tar.bz2.md5
/fileservice/temp/backup.tar.bz2: FAILED
md5sum: WARNING: 1 of 1 computed checksum did NOT match

mguentert@uranos > cat backup.tar.bz2.md5
d41d8cd98f00b204e9800998ecf8427e /fileservice/temp/backup.tar.bz2

so the format should be okay, but whats wrong with my piece of code?!

Greetings

--
Mit freundlichen Grüßen

Matthias Güntert

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.1 (GNU/Linux)

iD8DBQBEJquauQEWmvzea70RArn0AKC+ktZwzHUcXY+qqgN+Yj50p5ilzACdE7X5
+apebd9xy1GCHeRGhHbw3Hc=
=ZDGF
-----END PGP SIGNATURE-----
 
P

Paul Rubin

Matthias Güntert said:
i am in the process of writing a python script to backup my data. Now I
would like to implement md5/sha1 hashes.

Try editing as follows: change
f = open(fname, "rb")
while 1:
block = f.read(1024*1024)
if not block:
break
# generate the hash
m.update(block)
f.close()

to:

f = open(fname, "rb")
nbytes = 0
while 1:
block = f.read(1024*1024)
nbytes += len(block)
if not block:
break
# generate the hash
m.update(block)
f.close()
print '%d bytes processed'

As Adam DePrince noticed, the md5 checksum you generated was that of
an empty file. So the above should tell you whether you're actually
processing any input; if you don't get the expected number of bytes,
debug from there.
 

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,020
Latest member
GenesisGai

Latest Threads

Top