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中Class类用法实例分析
Nov 12 Python
python利用matplotlib库绘制饼图的方法示例
Dec 18 Python
简单学习Python多进程Multiprocessing
Aug 29 Python
Python 内置函数memoryview(obj)的具体用法
Nov 23 Python
Django中使用celery完成异步任务的示例代码
Jan 23 Python
python将txt文件读取为字典的示例
Dec 22 Python
python 实现视频流下载保存MP4的方法
Jan 09 Python
Python递归函数实例讲解
Feb 27 Python
使用Python3内置文档高效学习以及官方中文文档
May 19 Python
python求最大值,不使用内置函数的实现方法
Jul 09 Python
在django中查询获取数据,get, filter,all(),values()操作
Aug 09 Python
Python机器学习工具scikit-learn的使用笔记
Jan 28 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下判断网址是否有效的代码
2011/10/08 PHP
php强制用户转向www域名的方法
2015/06/19 PHP
Smarty实现页面静态化(生成HTML)的方法
2016/05/23 PHP
PHP设计模式之模板方法模式定义与用法详解
2018/04/02 PHP
js 操作select和option常用代码整理
2012/12/13 Javascript
原生js实现给指定元素的后面追加内容
2013/04/10 Javascript
jQuery获得IE版本不准确webbrowser的解决方法
2014/02/23 Javascript
jQuery的live()方法对hover事件的处理示例
2014/02/27 Javascript
JS实现控制表格只显示行边框或者只显示列边框的方法
2015/03/31 Javascript
javascript组合使用构造函数模式和原型模式实例
2015/06/04 Javascript
jquery+html5时钟特效代码分享(可设置闹钟并且语音提醒)
2020/03/30 Javascript
基于jQuery实现的无刷新表格分页实例
2016/02/17 Javascript
详解JavaScript的AngularJS框架中的作用域与数据绑定
2016/03/04 Javascript
jquery实现表格中点击相应行变色功能效果【实例代码】
2016/05/09 Javascript
JS实现多物体运动的方法详解
2018/01/23 Javascript
vue 2.x 中axios 封装的get 和post方法
2018/02/28 Javascript
详解在vue-cli项目下简单使用mockjs模拟数据
2018/10/19 Javascript
微信小程序 腾讯地图显示偏差问题解决
2019/07/27 Javascript
js防抖函数和节流函数使用场景和实现区别示例分析
2020/04/11 Javascript
vue动画—通过钩子函数实现半场动画操作
2020/08/09 Javascript
Vue路由权限控制解析
2020/11/09 Javascript
[15:15]教你分分钟做大人:狙击手
2014/10/30 DOTA
[55:42]VG vs VGJ.T 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
python实现批量转换文件编码(批转换编码示例)
2014/01/23 Python
Python调用C语言开发的共享库方法实例
2015/03/18 Python
浅谈Python 集合(set)类型的操作——并交差
2016/06/30 Python
linux环境下的python安装过程图解(含setuptools)
2017/11/22 Python
python在TXT文件中按照某一字符串取出该字符串所在的行方法
2018/12/10 Python
python db类用法说明
2020/07/07 Python
css3实例教程 一款纯css3实现的环形导航菜单
2014/10/20 HTML / CSS
英国第一职业高尔夫商店:Clickgolf.co.uk
2020/11/18 全球购物
高中微机老师自我鉴定
2014/02/16 职场文书
2014年医生工作总结
2014/11/21 职场文书
2014年党务工作总结
2014/11/25 职场文书
微信小程序用户授权最佳实践指南
2021/05/08 Javascript
vue+echarts实现多条折线图
2022/03/21 Vue.js