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将字符串转换成数组的方法
Apr 29 Python
Python基于PycURL自动处理cookie的方法
Jul 25 Python
Python数据库的连接实现方法与注意事项
Feb 27 Python
使用Python多线程爬虫爬取电影天堂资源
Sep 23 Python
Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)
May 08 Python
python实现最大优先队列
Aug 29 Python
Tensorflow读取并输出已保存模型的权重数值方式
Jan 04 Python
python连接PostgreSQL过程解析
Feb 09 Python
python 装饰器功能与用法案例详解
Mar 06 Python
没编程基础可以学python吗
Jun 17 Python
如何利用Python写个坦克大战
Nov 18 Python
python基础入门之字典和集合
Jun 13 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时间戳转换的示例
2014/03/31 PHP
php目录遍历函数opendir用法实例
2014/11/20 PHP
thinkPHP学习笔记之安装配置篇
2015/03/05 PHP
PHP+Mysql+jQuery中国地图区域数据统计实例讲解
2015/10/10 PHP
JavaScript与HTML结合的基本使用方法整理
2015/10/12 PHP
带你了解PHP7 性能翻倍的关键
2015/11/19 PHP
PHP list() 将数组中的值赋给变量的简单实例
2016/06/13 PHP
XRegExp 0.2: Now With Named Capture
2007/11/30 Javascript
jQuery each()方法的使用方法
2010/03/18 Javascript
iframe里面的元素触发父窗口元素事件的jquery代码
2014/10/19 Javascript
js贪吃蛇游戏实现思路和源码
2016/04/14 Javascript
AngularJS基础 ng-keyup 指令简单示例
2016/08/02 Javascript
概述一个页面从输入URL到页面加载完的过程
2016/12/16 Javascript
第一次记录Bootstrap table学习笔记(1)
2017/05/18 Javascript
微信小程序实现团购或秒杀批量倒计时
2020/11/01 Javascript
vue1.0和vue2.0的watch监听事件写法详解
2018/09/11 Javascript
浅析我对JS延迟异步脚本的思考
2020/10/12 Javascript
剖析Python的Twisted框架的核心特性
2016/05/25 Python
PyQt5每天必学之关闭窗口
2018/04/19 Python
Python日志模块logging基本用法分析
2018/08/23 Python
不知道这5种下划线的含义,你就不算真的会Python!
2018/10/09 Python
python读写配置文件操作示例
2019/07/03 Python
Python列表操作方法详解
2020/02/09 Python
使用Python合成图片的实现代码(图片添加个性化文本,图片上叠加其他图片)
2020/04/30 Python
python实现canny边缘检测
2020/09/14 Python
现代绅士日常奢侈品:Todd Snyder
2019/12/13 全球购物
几道PHP面试题
2013/04/14 面试题
中学生学习生活的自我评价
2013/10/26 职场文书
内容编辑个人求职信
2013/12/10 职场文书
应用心理学个人求职信范文
2013/12/11 职场文书
英语一分钟演讲稿
2014/04/29 职场文书
巾帼文明岗申报材料
2014/05/01 职场文书
完整版商业计划书
2014/09/15 职场文书
团代会开幕词
2015/01/28 职场文书
清洁工个人总结
2015/03/04 职场文书
2016年大学生党员承诺书
2016/03/24 职场文书