Python实现文件MD5值检测的代码示例
本文介绍Python检测文件MD5值的两种实现方式,涵盖字符串与大文件的哈希计算。通过hashlib模块读取文件内容并生成摘要,提供完整代码示例及在线加密工具链接,适用于Python程序设计与数据完整性验证场景。
本文详细介绍利用Python检测文件MD5值的具体方法,供读者参考学习。
此前已介绍过Python计算文件MD5值的方式,此处进一步分析另一种实现路径。
基本概念说明:
MD5(Message-Digest Algorithm 5,信息-摘要算法)是在MD2、MD3和MD4基础上发展而来的单向散列算法。该算法的使用无需支付任何版权费用。
具体代码实现如下:
#python 检测文件MD5值
#python version 2.6
import hashlib
import os,sys
#简单的测试一个字符串的MD5值
def GetStrMd5(src):
m0=hashlib.md5()
m0.update(src)
print m0.hexdigest()
pass
#大文件的MD5值
def GetFileMd5(filename):
if not os.path.isfile(filename):
return
myhash = hashlib.md5()
f = file(filename,'rb')
while True:
b = f.read(8096)
if not b :
break
myhash.update(b)
f.close()
return myhash.hexdigest()
def CalcSha1(filepath):
with open(filepath,'rb') as f:
sha1obj = hashlib.sha1()
sha1obj.update(f.read())
hash = sha1obj.hexdigest()
print(hash)
return hash
def CalcMD5(filepath):
with open(filepath,'rb') as f:
md5obj = hashlib.md5()
md5obj.update(f.read())
hash = md5obj.hexdigest()
print(hash)
return 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
CalcMD5(hashfile)
else:
CalcMD5(hashfile)
#raw_input("pause")
else:
print("no filename")
补充说明:对加密解密感兴趣的用户,可参考本站提供的在线工具:
文字在线加密解密工具(支持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程序设计有所帮助。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













