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 相关文章推荐
仅用500行Python代码实现一个英文解析器的教程
Apr 02 Python
Python实现保证只能运行一个脚本实例
Jun 24 Python
pycharm安装图文教程
May 02 Python
pandas多级分组实现排序的方法
Apr 20 Python
Python针对给定字符串求解所有子序列是否为回文序列的方法
Apr 21 Python
python使用插值法画出平滑曲线
Dec 15 Python
BP神经网络原理及Python实现代码
Dec 18 Python
使用Python 自动生成 Word 文档的教程
Feb 13 Python
python高阶函数map()和reduce()实例解析
Mar 16 Python
Python中格式化字符串的四种实现
May 26 Python
利于python脚本编写可视化nmap和masscan的方法
Dec 29 Python
Python万能模板案例之matplotlib绘制直方图的基本配置
Apr 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
分享下php5类中三种数据类型的区别
2015/01/26 PHP
PHP实现搜索相似图片
2015/09/22 PHP
PHP可变函数学习小结
2015/11/29 PHP
JavaScript实现班级随机点名小应用需求的具体分析
2014/05/12 Javascript
可编辑下拉框的2种实现方式
2014/06/13 Javascript
JS实现在网页中弹出一个输入框的方法
2015/03/03 Javascript
TypeError document.getElementById(...) is null错误原因
2015/05/18 Javascript
js中函数声明与函数表达式
2015/06/03 Javascript
js正则表达式中exec用法实例
2015/07/23 Javascript
jquery实现图片放大镜功能
2015/11/23 Javascript
jQuery弹簧插件编写基础之“又见弹窗”
2015/12/11 Javascript
jquery对dom节点的操作【推荐】
2016/04/15 Javascript
JavaScript实现星级评分
2017/01/12 Javascript
详解react关于事件绑定this的四种方式
2018/03/09 Javascript
Vue项目中使用jquery的简单方法
2019/05/16 jQuery
vue弹出框组件封装实例代码
2019/10/31 Javascript
京东优选小程序的实现代码示例
2020/02/25 Javascript
在Python程序中操作文件之isatty()方法的使用教程
2015/05/24 Python
python 3利用BeautifulSoup抓取div标签的方法示例
2017/05/28 Python
Python使用 Beanstalkd 做异步任务处理的方法
2018/04/24 Python
Python使用win32 COM实现Excel的写入与保存功能示例
2018/05/03 Python
Python基于pandas实现json格式转换成dataframe的方法
2018/06/22 Python
numpy.random模块用法总结
2019/05/27 Python
浅析Python3中的对象垃圾收集机制
2019/06/06 Python
python 模拟贷款卡号生成规则过程解析
2019/08/30 Python
python实现图片转换成素描和漫画格式
2020/08/19 Python
美国儿童运动鞋和服装零售商:Kids Foot Locker
2017/08/05 全球购物
DogBuddy荷兰:找到你最完美的狗保姆
2019/04/17 全球购物
Canal官网:巴西女性时尚品牌
2019/10/16 全球购物
国外软件测试工程师面试题
2016/12/09 面试题
医学生实习自荐信
2013/10/01 职场文书
绿色环保倡议书
2015/04/28 职场文书
清明祭英烈活动总结
2015/05/11 职场文书
默认网关不可用修复后过一会又不好使了解决方法
2022/04/08 数码科技
Ubuntu安装Mysql+启用远程连接的完整过程
2022/06/21 Servers
VMware虚拟机安装 Windows Server 2022的详细图文教程
2022/09/23 Servers