md5 python

#!/usr/bin/env python
#-*-coding:utf8-*-
”’
md5sum in Python
Author:    Seven
Date:    2010/09/23
Support:  seven.ling7@hotmail.com
”’


try:
from hashlib import md5        #Python2.6 or later version
except:
from md5 import md5          #Python2.4 or before version
import sys
def sumfile(fobj):
m = md5()
while True:
d = fobj.read(10240)
if not d:
break
m.update(d)
del(d)
return m.hexdigest()
def sumstr(str):
m = md5()
m.update(str)
return m.hexdigest()
def md5sum(fname):
try:
f = open(fname, ‘rb’)
except:
return False
ret = sumfile(f)
f.close()
return ret
if __name__ == ‘__main__’:
for fname in sys.argv[1:]:
res=md5sum(fname)
if res == False:
res=sumstr(fname)
print ‘%32s    %s’ % (res, fname)


  1. ”’
  2.     md5sum in Python
  3. ex:
  4.     import hashlib
  5.     m = hashlib.md5(‘stunnel-4.48.tar.gz’)
  6.     m.digest()
  7.     print m.hexdigest()
  8. ”’
  9. try:
  10.   from hashlib import md5        #Python2.5 or later version
  11. except:
  12.   from md5 import md5            #Python2.4 or before version
  13. import sys
  14. import urllib
  15. def sumfile(fobj):
  16.   m = md5()
  17.   while True:
  18.     d = fobj.read()
  19.     if not d:
  20.       break
  21.     m.update(d)
  22.     del(d)
  23.   return m.hexdigest()
  24. def sumstr(str):
  25.   m = md5()
  26.   m.update(str)
  27.   return m.hexdigest()
  28. def md5sum(fname):
  29.   try:
  30.     f = urllib.urlopen(fname, ‘rb’)
  31.     #f = open(fname, ‘rb’)
  32.   except:
  33.     return False
  34.   ret = sumfile(f)
  35.   f.close()
  36.   return ret
  37. res=md5sum(‘http://stunnel.cybermirror.org/stunnel-4.48.tar.gz’)
  38. print res