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标准库之多进程(multiprocessing包)介绍
Nov 25 Python
pygame学习笔记(3):运动速率、时间、事件、文字
Apr 15 Python
python开发之list操作实例分析
Feb 22 Python
浅谈插入排序算法在Python程序中的实现及简单改进
May 04 Python
Python 正则表达式的高级用法
Dec 04 Python
python使用两种发邮件的方式smtp和outlook示例
Jun 02 Python
python实现多层感知器MLP(基于双月数据集)
Jan 18 Python
python 求一个列表中所有元素的乘积实例
Jun 11 Python
python绘制无向图度分布曲线示例
Nov 22 Python
TensorBoard 计算图的可视化实现
Feb 15 Python
Python bisect模块原理及常见实例
Jun 17 Python
Python爬虫入门案例之爬取去哪儿旅游景点攻略以及可视化分析
Oct 16 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中删除变量时unset()和null的区别分析
2011/01/27 PHP
写出高质量的PHP程序
2012/02/04 PHP
解析php php_openssl.dll的作用
2013/07/01 PHP
PHP 生成N个不重复的随机数
2015/01/21 PHP
Windows2003下php5.4安装配置教程(Apache2.4)
2016/06/30 PHP
js wmp操作代码小结(音乐连播功能)
2008/11/08 Javascript
理解Javascript_05_原型继承原理
2010/10/13 Javascript
Javascript生成json的函数代码(可以用php的json_decode解码)
2012/06/11 Javascript
放弃用你的InnerHTML来输出HTML吧 jQuery Tmpl不详细讲解
2013/04/20 Javascript
JavaScript实现点击文字切换登录窗口的方法
2015/05/11 Javascript
基于javascript制作微博发布栏效果
2016/04/04 Javascript
原生js编写焦点图效果
2016/12/08 Javascript
Bootstrap源码解读模态弹出框(11)
2016/12/28 Javascript
详解Vue监听数据变化原理
2017/03/08 Javascript
bootstrap IE8 兼容性处理
2017/03/22 Javascript
JavaScript正则表达式函数总结(常用)
2018/02/22 Javascript
node链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】
2019/03/07 Javascript
Vue检测屏幕变化来改变不同的charts样式实例
2020/10/26 Javascript
[00:35]2016完美“圣”典风云人物:冷冷宣传片
2016/12/08 DOTA
Python匹配中文的正则表达式
2016/05/11 Python
Python实现接受任意个数参数的函数方法
2018/04/21 Python
Windows下Python3.6安装第三方模块的方法
2018/11/22 Python
python 设置输出图像的像素大小方法
2019/07/04 Python
python处理大日志文件
2019/07/23 Python
解决python 3 urllib 没有 urlencode 属性的问题
2019/08/22 Python
Python序列化与反序列化pickle用法实例
2019/11/11 Python
Python 输出详细的异常信息(traceback)方式
2020/04/08 Python
Python 列表中的修改、添加和删除元素的实现
2020/06/11 Python
CSS3 transform的skew属性值图文详解
2014/07/21 HTML / CSS
HTML5中原生的右键菜单创建方法
2016/06/28 HTML / CSS
美国著名的户外用品品牌:L.L.Bean
2018/01/05 全球购物
乡镇领导班子批评与自我批评材料
2014/09/23 职场文书
银行反四风对照检查材料
2014/09/29 职场文书
2015年教师党员自我评价材料
2015/03/04 职场文书
2016年大学迎新晚会工作总结
2015/10/15 职场文书
Python语言中的数据类型-序列
2022/02/24 Python