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中精确输出JSON浮点数的方法
Apr 18 Python
用python + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试
Jul 14 Python
Python中列表、字典、元组、集合数据结构整理
Nov 20 Python
Python中max函数用法实例分析
Jul 17 Python
Python使用QRCode模块生成二维码实例详解
Jun 14 Python
浅谈python函数之作用域(python3.5)
Oct 27 Python
Python元组常见操作示例
Feb 19 Python
python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)
Aug 06 Python
python中通过selenium简单操作及元素定位知识点总结
Sep 10 Python
Tensorflow 定义变量,函数,数值计算等名字的更新方式
Feb 10 Python
python代码区分大小写吗
Jun 17 Python
OpenCV中resize函数插值算法的实现过程(五种)
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
php实现字符串翻转的方法
2015/03/27 PHP
PHP消息队列实现及应用详解【队列处理订单系统和配送系统】
2019/05/20 PHP
javascript 短路法代码精简
2009/08/20 Javascript
JavaScript bold方法入门实例(把指定文字显示为粗体)
2014/10/17 Javascript
JavaScript控制网页平滑滚动到指定元素位置的方法
2015/04/17 Javascript
javascript适合移动端的日期时间拾取器
2015/11/10 Javascript
javascript基本语法
2016/05/31 Javascript
纯前端JavaScript实现Excel IO案例分享
2016/08/26 Javascript
利用VUE框架,实现列表分页功能示例代码
2017/01/12 Javascript
JS兼容所有浏览器的DOMContentLoaded事件
2018/01/12 Javascript
javascript自定义日期比较函数用法示例
2019/07/22 Javascript
layui问题之渲染数据表格时,仅出现10条数据的解决方法
2019/09/12 Javascript
在vue+element ui框架里实现lodash的debounce防抖
2019/11/13 Javascript
vue实现购物车选择功能
2020/01/10 Javascript
Vant picker 多级联动操作
2020/11/02 Javascript
python获取元素在数组中索引号的方法
2015/07/15 Python
Django Admin实现上传图片校验功能
2016/03/06 Python
Python处理XML格式数据的方法详解
2017/03/21 Python
Python+树莓派+YOLO打造一款人工智能照相机
2018/01/02 Python
python3 判断列表是一个空列表的方法
2018/05/04 Python
使用pandas对两个dataframe进行join的实例
2018/06/08 Python
如何基于Python实现自动扫雷
2020/01/06 Python
Python中zipfile压缩文件模块的基本使用教程
2020/06/14 Python
matplotlib 三维图表绘制方法简介
2020/09/20 Python
澳大利亚旅游网站:Lastminute
2017/08/07 全球购物
英国独特的时尚和生活方式品牌:JOY
2018/03/17 全球购物
Nayomi官网:沙特阿拉伯王国睡衣和内衣品牌
2020/12/19 全球购物
中科前程Java笔试题
2016/11/20 面试题
理工科学生的自我评价
2013/12/15 职场文书
幼儿园教育教学反思
2014/01/31 职场文书
趣味体育活动方案
2014/02/08 职场文书
2015年农村党员公开承诺事项
2015/04/28 职场文书
校园之声广播稿
2015/08/18 职场文书
会计专业自荐信范文
2019/05/22 职场文书
面试提问mysql一张表到底能存多少数据
2022/03/13 MySQL
【海涛dota解说】DCG联赛第一周 LGD VS DH
2022/04/01 DOTA