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 02 Python
Django forms组件的使用教程
Oct 08 Python
对python当中不在本路径的py文件的引用详解
Dec 15 Python
Python 函数返回值的示例代码
Mar 11 Python
python 实现多线程下载m3u8格式视频并使用fmmpeg合并
Nov 15 Python
使用Tensorflow将自己的数据分割成batch训练实例
Jan 20 Python
Python 爬取必应壁纸的实例讲解
Feb 24 Python
详解tensorflow2.x版本无法调用gpu的一种解决方法
May 25 Python
Python:__eq__和__str__函数的使用示例
Sep 26 Python
python Tornado框架的使用示例
Oct 19 Python
Python代码覆盖率统计工具coverage.py用法详解
Nov 25 Python
Django + Taro 前后端分离项目实现企业微信登录功能
Apr 07 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防注入安全代码
2008/04/09 PHP
php与php MySQL 之间的关系
2009/07/17 PHP
PHP采集相关教程之一 CURL函数库
2010/02/15 PHP
兼容firefox,chrome的网页灰度效果
2011/08/08 PHP
PHP创建PowerPoint2007文档的方法
2015/12/10 PHP
Laravel-添加后台模板AdminLte的实现方法
2019/10/08 PHP
JavaScript的Function详细
2006/11/14 Javascript
JS随机生成不重复数据的实例方法
2013/07/17 Javascript
详谈javascript异步编程
2016/02/21 Javascript
Bootstrap自动适应PC、平板、手机的Bootstrap栅格系统
2016/05/27 Javascript
jQuery验证表单格式的使用方法
2017/01/10 Javascript
jQuery选择器中的特殊符号处理方法
2017/09/08 jQuery
AngularJS 控制器 controller的详解
2017/10/17 Javascript
详解IWinter 一个路由转控制器的 Nodejs 库
2017/11/15 NodeJs
vue自定义filters过滤器
2018/04/26 Javascript
Vue 菜单栏点击切换单个class(高亮)的方法
2018/08/22 Javascript
tracking.js页面人脸识别插件使用方法
2020/04/16 Javascript
用vite搭建vue3应用的实现方法
2021/02/22 Vue.js
[06:33]DOTA2亚洲邀请赛小组赛第二日 TOP10精彩集锦
2015/01/31 DOTA
python实现textrank关键词提取
2018/06/22 Python
python安装和pycharm环境搭建设置方法
2020/05/27 Python
使用Keras实现Tensor的相乘和相加代码
2020/06/18 Python
canvas绘制图片drawImage使用方法
2020/09/15 HTML / CSS
贝尔帐篷精品店:Bell Tent Boutique
2019/06/12 全球购物
体育教育专业自荐信范文
2013/12/20 职场文书
企业内部培训方案
2014/02/04 职场文书
新年主持词
2014/03/27 职场文书
幼儿园中班开学寄语
2014/04/03 职场文书
党员自我评议个人对照检查材料
2014/09/16 职场文书
安全生产工作汇报
2014/10/28 职场文书
2014年大学班级工作总结
2014/11/14 职场文书
2015年世界无烟日活动方案
2015/05/04 职场文书
2015年学校教务处工作总结
2015/05/11 职场文书
2016大学迎新晚会开场白
2015/11/24 职场文书
PHP中strval()函数实例用法
2021/06/07 PHP
Android Flutter实现3D动画效果示例详解
2022/04/07 Java/Android