Python实现检测文件MD5值的方法示例


Posted in Python onApril 11, 2018

本文实例讲述了Python实现检测文件MD5值的方法。分享给大家供大家参考,具体如下:

前面介绍过Python计算文件md5值的方法,这里分析一下Python检测文件MD5值的另一种实现方法。

概述:

MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算法),经MD2、MD3和MD4发展而来。MD5算法的使用不需要支付任何版权费用。

实现代码:

#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")
Python 相关文章推荐
分析python服务器拒绝服务攻击代码
Jan 16 Python
python中的yield使用方法
Feb 11 Python
Python中使用不同编码读写txt文件详解
May 28 Python
教你用Type Hint提高Python程序开发效率
Aug 08 Python
Python单元测试实例详解
May 25 Python
python破解zip加密文件的方法
May 31 Python
利用PyCharm Profile分析异步爬虫效率详解
May 08 Python
使用Python完成15位18位身份证的互转功能
Nov 06 Python
基于Pyinstaller打包Python程序并压缩文件大小
May 28 Python
如何利用python web框架做文件流下载的实现示例
Jun 02 Python
Python3基于print打印带颜色字符串
Jul 06 Python
PyQt实现计数器的方法示例
Jan 18 Python
python 输出上个月的月末日期实例
Apr 11 #Python
Python简单计算文件MD5值的方法示例
Apr 11 #Python
pandas 获取季度,月度,年度首尾日期的方法
Apr 11 #Python
python+pandas生成指定日期和重采样的方法
Apr 11 #Python
python dataframe astype 字段类型转换方法
Apr 11 #Python
pandas series序列转化为星期几的实例
Apr 11 #Python
pandas的object对象转时间对象的方法
Apr 11 #Python
You might like
web站点获取用户IP的安全方法 HTTP_X_FORWARDED_FOR检验
2013/06/01 PHP
php利用header函数下载各种文件
2016/08/24 PHP
PHP 文件上传后端处理实用技巧方法
2017/01/06 PHP
PHP中创建和编辑Excel表格的方法
2018/09/13 PHP
php中访问修饰符的知识点总结
2019/01/27 PHP
js监控IE火狐浏览器关闭、刷新、回退、前进事件
2014/07/23 Javascript
基于Arcgis for javascript实现百度地图ABCD marker的效果
2015/09/12 Javascript
Bootstrap3学习笔记(三)之表格
2016/05/20 Javascript
jQuery中的通配符选择器使用总结
2016/05/30 Javascript
javascript加减乘除的简单实例
2016/07/12 Javascript
微信JS接口大全
2016/08/25 Javascript
使用javaScript实现鼠标拖拽事件
2020/04/03 Javascript
vue.js语法及常用指令
2017/10/29 Javascript
浅谈vue中.vue文件解析流程
2018/04/24 Javascript
JS+H5 Canvas实现时钟效果
2018/07/20 Javascript
通过实例解析chrome如何在mac环境中安装vue-devtools插件
2020/07/10 Javascript
Python命令启动Web服务器实例详解
2017/02/23 Python
对python中array.sum(axis=?)的用法介绍
2018/06/28 Python
python 移动图片到另外一个文件夹的实例
2019/01/10 Python
Django restframework 源码分析之认证详解
2019/02/22 Python
Python/Django后端使用PIL Image生成头像缩略图
2019/04/30 Python
Python 图像处理: 生成二维高斯分布蒙版的实例
2019/07/04 Python
pytorch实现用Resnet提取特征并保存为txt文件的方法
2019/08/20 Python
关于python3中setup.py小概念解析
2019/08/22 Python
Python 3.8 新功能大揭秘【新手必学】
2020/02/05 Python
python的列表List求均值和中位数实例
2020/03/03 Python
Python实现自动签到脚本功能
2020/08/20 Python
html5组织内容_动力节点Java学院整理
2017/07/10 HTML / CSS
Ellesse英国官网:意大利高级运动品牌
2019/07/23 全球购物
Johnson Fitness澳大利亚:高级健身器材
2021/03/16 全球购物
酒店大堂副理的职责范文
2014/02/13 职场文书
校企合作协议书
2014/04/16 职场文书
学生会个人总结范文
2015/02/15 职场文书
个人优缺点总结
2015/02/28 职场文书
傅雷家书读书笔记
2015/06/29 职场文书
HttpClient实现表单提交上传文件
2022/08/14 Java/Android