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如何使用AIML搭建聊天机器人
Jan 27 Python
python决策树之C4.5算法详解
Dec 20 Python
python下解压缩zip文件并删除文件的实例
Apr 24 Python
pandas 实现字典转换成DataFrame的方法
Jul 04 Python
20行python代码实现人脸识别
May 05 Python
python实现从本地摄像头和网络摄像头截取图片功能
Jul 11 Python
简单了解django缓存方式及配置
Jul 19 Python
基于Python实现ComicReaper漫画自动爬取脚本过程解析
Nov 11 Python
python实现可下载音乐的音乐播放器
Feb 25 Python
Python实现自动打开电脑应用的示例代码
Apr 17 Python
Win10下配置tensorflow-gpu的详细教程(无VS2015/2017)
Jul 14 Python
python爬取豆瓣电影排行榜(requests)的示例代码
Feb 18 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
php2html php生成静态页函数
2008/12/08 PHP
PHP系统命令函数使用分析
2013/07/05 PHP
php中实现精确设置session过期时间的方法
2014/07/17 PHP
PHP获取一个字符串中间一部分字符的方法
2014/08/19 PHP
PHP实现对站点内容外部链接的过滤方法
2014/09/10 PHP
thinkPHP实现MemCache分布式缓存功能
2016/03/23 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
初始Nodejs
2014/11/08 NodeJs
jQuery实现两款有动画功能的导航菜单代码
2015/09/16 Javascript
JS实现字符串转日期并比较大小实例分析
2015/12/09 Javascript
理解javascript中的严格模式
2016/02/01 Javascript
谈一谈javascript中继承的多种方式
2016/02/19 Javascript
Node.js安装配置图文教程
2017/05/10 Javascript
详解Vue调用手机相机和相册以及上传
2019/05/05 Javascript
layui给下拉框、按钮状态、时间赋初始值的方法
2019/09/10 Javascript
js实现鼠标点击飘爱心效果
2020/08/19 Javascript
一起深入理解js中的事件对象
2021/02/06 Javascript
Python实现基于权重的随机数2种方法
2015/04/28 Python
结合Python的SimpleHTTPServer源码来解析socket通信
2016/06/27 Python
Python利用scapy实现ARP欺骗的方法
2019/07/23 Python
快速解决docker-py api版本不兼容的问题
2019/08/30 Python
python Matplotlib模块的使用
2020/09/16 Python
html5与css3小应用
2013/04/03 HTML / CSS
SmartBuyGlasses美国官网:太阳眼镜和眼镜
2017/08/20 全球购物
Guess荷兰官网:美国服饰品牌
2020/01/22 全球购物
PyQt QMainWindow的使用示例
2021/03/24 Python
幼儿园家长会欢迎词
2014/01/09 职场文书
消防宣传口号
2014/06/16 职场文书
三分钟自我介绍演讲稿
2014/08/21 职场文书
2014全年工作总结
2014/11/27 职场文书
三好学生评语大全
2014/12/29 职场文书
幸福终点站观后感
2015/06/04 职场文书
2015年城乡环境综合治理工作总结
2015/07/24 职场文书
MySQL去除重叠时间求时间差和的实现
2021/08/23 MySQL
宝塔更新Python及Flask项目的部署
2022/04/11 Python
ORACLE中dbms_output.put_line输出问题的解决过程
2022/06/28 Oracle