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 self,cls,decorator的理解
Jul 13 Python
解决Python字典写入文件出行首行有空格的问题
Sep 27 Python
Python设计模式之MVC模式简单示例
Jan 10 Python
基于python 处理中文路径的终极解决方法
Apr 12 Python
Python partial函数原理及用法解析
Dec 11 Python
pytorch查看torch.Tensor和model是否在CUDA上的实例
Jan 03 Python
解决Pycharm中恢复被exclude的项目问题(pycharm source root)
Feb 14 Python
pyqt5 QlistView列表显示的实现示例
Mar 24 Python
django 实现后台从富文本提取纯文本
Jul 02 Python
10个python爬虫入门实例(小结)
Nov 01 Python
python四个坐标点对图片区域最小外接矩形进行裁剪
Jun 04 Python
Django框架中模型的用法
Jun 10 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
PHP使用DirectoryIterator显示下拉文件列表的方法
2015/03/13 PHP
PHP7 安装event扩展的实现方法
2019/10/08 PHP
php提高脚本性能的4个技巧
2020/08/18 PHP
JavaScript 判断判断某个对象是Object还是一个Array
2010/01/28 Javascript
减少访问DOM的次数提升javascript性能
2014/02/24 Javascript
AngularGauge 属性解析详解
2016/09/06 Javascript
基于jQuery选择器之表单对象属性筛选选择器的实例
2017/09/19 jQuery
详谈js中标准for循环与foreach(for in)的区别
2017/11/02 Javascript
ES6中javascript实现函数绑定及类的事件绑定功能详解
2017/11/08 Javascript
js实现轮播图的完整代码
2020/10/26 Javascript
微信小程序之裁剪图片成圆形的实现代码
2018/10/11 Javascript
详解js创建对象的几种方法及继承
2019/04/12 Javascript
小程序如何在不同设备上自适应生成海报的实现方法
2019/08/20 Javascript
如何基于JavaScript判断图片是否加载完成
2019/12/28 Javascript
Nuxt的路由动画效果案例
2020/11/06 Javascript
python 实现tar文件压缩解压的实例详解
2017/08/20 Python
Python+PyQt5实现美剧爬虫可视工具的方法
2019/04/25 Python
Python单例模式的四种创建方式实例解析
2020/03/04 Python
Python高并发和多线程有什么关系
2020/11/14 Python
python 实现波浪滤镜特效
2020/12/02 Python
详解HTML5 LocalStorage 本地存储
2016/12/23 HTML / CSS
早晨薰衣草在线女性精品店:Morning Lavender
2021/01/04 全球购物
为什么如下的代码int a=100,b=100;long int c=a * b;不能工作
2013/11/29 面试题
酒店办公室文员岗位职责
2013/12/18 职场文书
最经典的商业地产项目广告词
2014/03/13 职场文书
入党积极分子评语
2014/05/04 职场文书
一帮一活动总结
2014/05/08 职场文书
幼儿教师求职信
2014/05/24 职场文书
会计学专业求职信
2014/07/17 职场文书
白酒营销策划方案
2014/08/17 职场文书
上党课的心得体会
2014/09/02 职场文书
数学考试作弊检讨书300字
2015/02/16 职场文书
介绍信范文大全
2015/05/07 职场文书
外出培训学习心得体会
2016/01/18 职场文书
nginx简单配置多个server的方法
2021/03/31 Servers
Vue鼠标滚轮滚动切换路由效果的实现方法
2021/08/04 Vue.js