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 ORM框架SQLAlchemy学习笔记之映射类使用实例和Session会话介绍
Jun 10 Python
Python中random模块生成随机数详解
Mar 10 Python
Python3如何解决字符编码问题详解
Apr 23 Python
Python通过属性手段实现只允许调用一次的示例讲解
Apr 21 Python
Python wxPython库Core组件BoxSizer用法示例
Sep 03 Python
解决Mac下首次安装pycharm无project interpreter的问题
Oct 29 Python
python实现抽奖小程序
Apr 15 Python
解决python有时候import不了当前的包问题
Aug 28 Python
python图形绘制奥运五环实例讲解
Sep 14 Python
python线程安全及多进程多线程实现方法详解
Sep 27 Python
详解numpy矩阵的创建与数据类型
Oct 18 Python
Alpine安装Python3依赖出现的问题及解决方法
Dec 25 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查询网站的PR值
2013/10/30 PHP
PHP遍历数组的方法汇总
2015/04/30 PHP
[原创]PHP字符串中插入子字符串方法总结
2016/05/06 PHP
不要在cookie中使用特殊字符的原因分析
2010/07/13 Javascript
js对数字的格式化使用说明
2011/01/12 Javascript
收集的10个免费的jQuery相册
2011/02/26 Javascript
js 弹出菜单/窗口效果
2011/10/30 Javascript
类似天猫商品详情随浏览器移动的示例代码
2014/02/27 Javascript
javascript ajax的5种状态介绍
2014/08/18 Javascript
原生js仿jq判断当前浏览器是否为ie,精确到ie6~8
2014/08/30 Javascript
JS实现网页顶部向下滑出的全国城市切换导航效果
2015/08/22 Javascript
JavaScript简单生成 N~M 之间随机数的方法
2017/01/13 Javascript
DVA框架统一处理所有页面的loading状态
2017/08/25 Javascript
浅谈vue的iview列表table render函数设置DOM属性值的方法
2017/09/30 Javascript
详解使用Nuxt.js快速搭建服务端渲染(SSR)应用
2019/03/13 Javascript
使用微信SDK自定义分享的方法
2019/07/03 Javascript
基于webpack4+vue-cli3项目实现换肤功能
2019/07/17 Javascript
解决Idea、WebStorm下使用Vue cli脚手架项目无法使用Webpack别名的问题
2019/10/11 Javascript
js实现头像上传并且可预览提交
2020/12/25 Javascript
python 多线程中子线程和主线程相互通信方法
2018/11/09 Python
pytorch使用Variable实现线性回归
2019/05/21 Python
解决pytorch报错:AssertionError: Invalid device id的问题
2020/01/10 Python
Python 序列化和反序列化库 MarshMallow 的用法实例代码
2020/02/25 Python
python GUI库图形界面开发之PyQt5拖放控件实例详解
2020/02/25 Python
浅谈css3中的渐进增强和优雅降级
2017/12/01 HTML / CSS
学生学习总结的自我评价
2013/10/22 职场文书
求职简历中个人的自我评价
2013/12/01 职场文书
黄河象教学反思
2014/02/10 职场文书
高中班主任评语大全
2014/04/25 职场文书
项目投资建议书
2014/05/16 职场文书
关于美容院的活动方案
2014/08/14 职场文书
租车协议书
2015/01/27 职场文书
2015年新农村建设工作总结
2015/05/22 职场文书
股东合作协议书模板2篇
2019/11/05 职场文书
python如何获取网络数据
2021/04/11 Python
css3手动实现pc端横向滚动
2022/06/21 HTML / CSS