- import hashlib
- import os,sys
- def CalcSha1(filepath):
- with open(filepath,'rb') as f:
- sha1obj = hashlib.sha1()
- sha1obj.update(f.read())
- hash = sha1obj.hexdigest()
- print(hash)
- return hash
-
- def CalcFileMD5(filepath):
- with open(filepath,'rb') as f:
- md5obj = hashlib.md5()
- md5obj.update(f.read())
- hash = md5obj.hexdigest()
- hash = hash.upper()
- print "MD5:", (hash)
- return hash
- def CalcStringMD5(Str):
- md5obj = hashlib.md5()
- md5obj.update(Str)
- hash = md5obj.hexdigest()
- hash = hash.upper()
- print "MD5:", (hash)
-
- if __name__ == "__main__":
- if len(sys.argv)==2 :
- hashfile = sys.argv[1]
- if not os.path.exists(hashfile):
- hashfile = os.path.join(os.path.dirname(__file__),hashfile)
- if not os.path.exists(hashfile):
- print "cannot found file"
- else:
- CalcFileMD5(hashfile)
- else:
- #filename = os.path.split(hashfile)
- #print "File name is: ", filename[1]
- print "File name is: ", os.path.basename(hashfile)
- CalcFileMD5(hashfile)
- else:
- print "No filename"
- InputStr = raw_input("Please input a string:\n")
- print "File name is: ", InputStr
- CalcStringMD5(InputStr)
-
复制代码 |