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
在线