Python实现检测文件MD5值的方法示例
本文实例讲述了Python实现检测文件MD5值的方法。分享给大家供大家参考,具体如下:
前面介绍过Python计算文件md5值的方法,这里分析一下Python检测文件MD5值的另一种实现方法。
概述:
MD5(单向散列算法)的全称是Message-DigestAlgorithm5(信息-摘要算法),经MD2、MD3和MD4发展而来。MD5算法的使用不需要支付任何版权费用。
实现代码:
#python检测文件MD5值 #pythonversion2.6 importhashlib importos,sys #简单的测试一个字符串的MD5值 defGetStrMd5(src): m0=hashlib.md5() m0.update(src) printm0.hexdigest() pass #大文件的MD5值 defGetFileMd5(filename): ifnotos.path.isfile(filename): return myhash=hashlib.md5() f=file(filename,'rb') whileTrue: b=f.read(8096) ifnotb: break myhash.update(b) f.close() returnmyhash.hexdigest() defCalcSha1(filepath): withopen(filepath,'rb')asf: sha1obj=hashlib.sha1() sha1obj.update(f.read()) hash=sha1obj.hexdigest() print(hash) returnhash defCalcMD5(filepath): withopen(filepath,'rb')asf: md5obj=hashlib.md5() md5obj.update(f.read()) hash=md5obj.hexdigest() print(hash) returnhash if__name__=="__main__": iflen(sys.argv)==2: hashfile=sys.argv[1] ifnotos.path.exists(hashfile): hashfile=os.path.join(os.path.dirname(__file__),hashfile) ifnotos.path.exists(hashfile): print("cannotfoundfile") else CalcMD5(hashfile) else: CalcMD5(hashfile) #raw_input("pause") else: print("nofilename")
PS:关于加密解密感兴趣的朋友还可以参考本站在线工具:
文字在线加密解密工具(包含AES、DES、RC4等):
http://tools.jb51.net/password/txt_encode
MD5在线加密工具:
http://tools.jb51.net/password/CreateMD5Password
在线散列/哈希算法加密工具:
http://tools.jb51.net/password/hash_encrypt
在线