Python基于hashlib模块的文件MD5一致性加密验证示例
本文实例讲述了Python基于hashlib模块的文件MD5一致性加密验证。分享给大家供大家参考,具体如下:
使用hashlib模块,可对文件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
在线MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:
http://tools.jb51.net/password/hash_md5_sha
在线sha1/sha224/sha256/sha384/sha512加密工具:
http://tools.jb51.net/password/sha_encode
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python加密解密算法与技巧总结》、《Python编码操作技巧总结》、《Python文件与目录操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。