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 random模块常用方法
Nov 03 Python
python编写的最短路径算法
Mar 25 Python
Python的Django框架下管理站点的基本方法
Jul 17 Python
python 时间信息“2018-02-04 18:23:35“ 解析成字典形式的结果代码详解
Apr 19 Python
python 将对象设置为可迭代的两种实现方法
Jan 21 Python
python 多线程重启方法
Feb 18 Python
Python求离散序列导数的示例
Jul 10 Python
对python 树状嵌套结构的实现思路详解
Aug 09 Python
python 使用pygame工具包实现贪吃蛇游戏(多彩版)
Oct 30 Python
如何使用python进行pdf文件分割
Nov 11 Python
python 创建一维的0向量实例
Dec 02 Python
Python还能这么玩之只用30行代码从excel提取个人值班表
Jun 05 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
Smarty安装配置方法
2008/04/10 PHP
WordPress中限制非管理员用户在文章后只能评论一次
2015/12/31 PHP
PHP实现负载均衡的加权轮询方法分析
2018/08/22 PHP
基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
2019/05/25 PHP
解决PHP Opcache 缓存刷新、代码重载出现无法更新代码的问题
2020/08/24 PHP
js window.onload 加载多个函数的方法
2009/11/02 Javascript
JS 类型转换常见方法小结
2010/05/31 Javascript
jquery方法+js一般方法+js面向对象方法实现拖拽效果
2012/08/30 Javascript
javascript时间函数基础介绍
2013/03/28 Javascript
JS应用正则表达式转换大小写示例
2014/09/18 Javascript
javascript正则表达式基础知识入门
2015/04/20 Javascript
javascript DIV实现跟随鼠标移动
2020/03/19 Javascript
全面了解addEventListener和on的区别
2016/07/14 Javascript
Canvas 制作动态进度加载水球详解及实例代码
2016/12/09 Javascript
jquery拖动改变div大小
2017/07/04 jQuery
webpack构建vue项目的详细教程(配置篇)
2017/07/17 Javascript
Angular4学习笔记之根模块与Ng模块
2017/09/09 Javascript
LayerClose弹窗关闭刷新方法
2018/08/17 Javascript
vue.js自定义组件directives的实例代码
2018/11/09 Javascript
jQuery实现根据身份证号获取生日、年龄、性别等信息的方法
2019/01/09 jQuery
小程序登录之支付宝授权的实现示例
2019/12/13 Javascript
python的三目运算符和not in运算符使用示例
2014/03/03 Python
Python计算字符宽度的方法
2016/06/14 Python
用Python实现随机森林算法的示例
2017/08/24 Python
Mankind西班牙男士护肤品网站:购买皮肤护理、护发和剃须
2017/04/27 全球购物
阿迪达斯法国官方网站:adidas法国
2018/03/20 全球购物
YSL圣罗兰美妆英国官网:Yves Saint Laurent Beauty UK
2019/08/03 全球购物
澳大利亚在线消费电子产品商店:TobyDeals
2020/01/05 全球购物
怎样写好自荐信和推荐信
2013/12/26 职场文书
房屋出租协议书范本(标准版)
2014/09/24 职场文书
主持人开幕词
2015/01/29 职场文书
2016元旦晚会主持词
2015/07/01 职场文书
2015-2016年小学教导工作总结
2015/07/21 职场文书
教师师德承诺书2016
2016/03/25 职场文书
React四级菜单的实现
2022/04/08 Javascript
keepalived + nginx 实现高可用方案
2022/12/24 Servers