Python基于hashlib模块的文件MD5一致性加密验证示例


Posted in Python onFebruary 10, 2018

本文实例讲述了Python基于hashlib模块的文件MD5一致性加密验证。分享给大家供大家参考,具体如下:

使用hashlib模块,可对文件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 相关文章推荐
centos 下面安装python2.7 +pip +mysqld
Nov 18 Python
Python3.2中的字符串函数学习总结
Apr 23 Python
利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例
Aug 08 Python
Python文件和流(实例讲解)
Sep 12 Python
Python编程实现蚁群算法详解
Nov 13 Python
利用Python进行异常值分析实例代码
Dec 07 Python
selenium获取当前页面的url、源码、title的方法
Jun 12 Python
用openCV和Python 实现图片对比,并标识出不同点的方式
Dec 19 Python
Python对wav文件的重采样实例
Feb 25 Python
Python3开发实例之非关系型图数据库Neo4j安装方法及Python3连接操作Neo4j方法实例
Mar 18 Python
Python self用法详解
Nov 28 Python
matplotlib之pyplot模块实现添加子图subplot的使用
Apr 25 Python
Python中生成器和迭代器的区别详解
Feb 10 #Python
详解python中的线程
Feb 10 #Python
Odoo中如何生成唯一不重复的序列号详解
Feb 10 #Python
python TCP Socket的粘包和分包的处理详解
Feb 09 #Python
python实现Adapter模式实例代码
Feb 09 #Python
python实现Decorator模式实例代码
Feb 09 #Python
Python多线程扫描端口代码示例
Feb 09 #Python
You might like
分享最受欢迎的5款PHP框架
2014/11/27 PHP
网页和浏览器兼容性问题汇总(draft1)
2009/06/01 Javascript
javascript eval和JSON之间的联系
2009/12/31 Javascript
由Javascript实现的页面日历
2011/11/04 Javascript
javascript 兼容所有浏览器的DOM扩展功能
2012/08/01 Javascript
js实现编辑div节点名称的方法
2014/12/17 Javascript
javascript实现根据3原色制作颜色选择器的方法
2015/07/17 Javascript
javascript判断网页是关闭还是刷新
2015/09/12 Javascript
JavaScript自定义文本框光标
2017/03/05 Javascript
js实现Tab选项卡切换效果
2020/07/17 Javascript
使用vue官方提供的模板vue-cli搭建一个helloWorld案例分析
2018/01/16 Javascript
js循环map 获取所有的key和value的实现代码(json)
2018/05/09 Javascript
Vue中对拿到的数据进行A-Z排序的实例
2018/09/25 Javascript
浅谈Angular 观察者模式理解
2018/11/01 Javascript
Vue CLI 2.x搭建vue(目录最全分析)
2019/02/27 Javascript
解决Vue+Electron下Vuex的Dispatch没有效果问题
2019/05/20 Javascript
JS倒计时两种实现方式代码实例
2020/07/27 Javascript
[01:45]亚洲邀请赛互动指南虚拟物品介绍
2015/01/30 DOTA
[00:15]TI9观赛名额抽取
2019/07/10 DOTA
Python通过调用有道翻译api实现翻译功能示例
2018/07/19 Python
Python 加密与解密小结
2018/12/06 Python
python 列表输出重复值以及对应的角标方法
2019/06/11 Python
python使用yield压平嵌套字典的超简单方法
2019/11/02 Python
Pytorch.nn.conv2d 过程验证方式(单,多通道卷积过程)
2020/01/03 Python
pytorch构建多模型实例
2020/01/15 Python
HTML5 拖放功能实现代码
2016/07/14 HTML / CSS
基督教卡片、励志礼品、家居装饰等:DaySpring
2018/10/12 全球购物
德国拖鞋网站:German Slippers
2019/11/08 全球购物
大学生四年生活自我鉴定
2013/11/21 职场文书
总经理助理职责
2014/02/04 职场文书
美丽乡村建设实施方案
2014/03/23 职场文书
卖房协议书
2014/04/11 职场文书
竞选班委演讲稿
2014/04/28 职场文书
检查机关党的群众路线个人整改措施
2014/10/04 职场文书
工程技术负责人岗位职责
2015/04/13 职场文书
2015年司机工作总结
2015/04/23 职场文书