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 相关文章推荐
Python3实现从文件中读取指定行的方法
May 22 Python
Python安装使用命令行交互模块pexpect的基础教程
May 12 Python
Python正则表达式经典入门教程
May 22 Python
Python实现字典的遍历与排序功能示例
Dec 23 Python
Python获取当前公网ip并自动断开宽带连接实例代码
Jan 12 Python
Python进程间通信Queue实例解析
Jan 25 Python
Numpy截取指定范围内的数据方法
Nov 14 Python
Python实现检测文件的MD5值来查找重复文件案例
Mar 12 Python
python argparse模块通过后台传递参数实例
Apr 20 Python
python进度条显示之tqmd模块
Aug 22 Python
让你相见恨晚的十个Python骚操作
Nov 18 Python
基于Python实现一个春节倒计时脚本
Jan 22 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 作用域解析运算符(::)
2010/07/27 PHP
简单的移动设备检测PHP脚本代码
2011/02/19 PHP
php提示无法加载或mcrypt没有找到 PHP 扩展 mbstring解决办法
2012/03/27 PHP
php 可变函数使用小结
2018/06/12 PHP
jQuery 技巧大全(新手入门篇)
2009/05/12 Javascript
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
2015/12/22 Javascript
详解JavaScript的AngularJS框架中的作用域与数据绑定
2016/03/04 Javascript
有关jquery与DOM节点操作方法和属性记录
2016/04/15 Javascript
jquery与ajax获取特殊字符实例详解
2017/01/08 Javascript
轻松理解JavaScript闭包
2017/03/14 Javascript
深入理解Angular.JS中的Scope继承
2017/06/04 Javascript
layui实现数据表格隐藏列的示例
2019/10/25 Javascript
vue双击事件2.0事件监听(点击-双击-鼠标事件)和事件修饰符操作
2020/07/27 Javascript
基于vue 动态菜单 刷新空白问题的解决
2020/08/06 Javascript
vue实现轮播图帧率播放
2021/01/26 Vue.js
初步探究Python程序的执行原理
2015/04/11 Python
Python首次安装后运行报错(0xc000007b)的解决方法
2016/10/18 Python
python万年历实现代码 含运行结果
2017/05/20 Python
详细分析python3的reduce函数
2017/12/05 Python
python Selenium实现付费音乐批量下载的实现方法
2019/01/24 Python
python抓取搜狗微信公众号文章
2019/04/01 Python
Python Django框架单元测试之文件上传测试示例
2019/05/17 Python
Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件封装函数的方法
2019/09/23 Python
GitHub上值得推荐的8个python 项目
2020/10/30 Python
pandas apply使用多列计算生成新的列实现示例
2021/02/24 Python
a标签下载链接的简单实现
2016/09/13 HTML / CSS
HTML5中外部浏览器唤起微信分享功能的代码
2020/09/15 HTML / CSS
Booking.com西班牙:全球酒店预订
2018/03/30 全球购物
国际语言毕业生求职信
2014/07/08 职场文书
国庆节演讲稿范文2014
2014/09/19 职场文书
批评与自我批评发言稿
2014/10/15 职场文书
公司仓管员岗位职责
2015/04/01 职场文书
运动会通讯稿50字
2015/07/20 职场文书
2016年学校爱国卫生月活动总结
2016/04/06 职场文书
Nginx实现会话保持的两种方式
2022/03/18 Servers
常用的文件对应的MIME类型汇总
2022/04/26 HTML / CSS