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 相关文章推荐
python入门之语句(if语句、while语句、for语句)
Jan 19 Python
python统计字符串中指定字符出现次数的方法
Apr 04 Python
python之Socket网络编程详解
Sep 29 Python
python中使用zip函数出现错误的原因
Sep 28 Python
django配置连接数据库及原生sql语句的使用方法
Mar 03 Python
详解Python读取yaml文件多层菜单
Mar 23 Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
May 15 Python
详细介绍Python进度条tqdm的使用
Jul 31 Python
python GUI库图形界面开发之PyQt5开发环境配置与基础使用
Feb 25 Python
浅谈django不使用restframework自定义接口与使用的区别
Jul 15 Python
Python制作数据预测集成工具(值得收藏)
Aug 21 Python
Python绘制地图神器folium的新人入门指南
May 23 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
最省空间的计数器
2006/10/09 PHP
PHP session常见问题集锦及解决办法总结
2007/03/18 PHP
PHP PDOStatement::fetchObject讲解
2019/02/01 PHP
javascript中的几个运算符
2007/06/29 Javascript
IE与Firefox下javascript getyear年份的兼容性写法
2007/12/20 Javascript
javascript hasFocus使用实例
2010/06/29 Javascript
jQuery JSON的解析方式分享
2011/04/05 Javascript
仿微博字符限制效果实现代码
2012/04/20 Javascript
Javascript和HTML5利用canvas构建Web五子棋游戏实现算法
2013/07/17 Javascript
JS实现点击图片在当前页面放大并可关闭的漂亮效果
2013/10/18 Javascript
Extjs4中的分页应用结合前后台
2013/12/13 Javascript
详解iframe与frame的区别
2016/01/13 Javascript
jQuery模拟select实现下拉菜单功能
2016/06/20 Javascript
jquery实现超简单的瀑布流布局【推荐】
2017/03/08 Javascript
jQuery实现图片滑动效果
2017/03/08 Javascript
Angular利用内容投射向组件输入ngForOf模板的方法
2018/03/05 Javascript
jQuery实现的上传图片本地预览效果简单示例
2018/03/29 jQuery
Node.js搭建WEB服务器的示例代码
2018/08/15 Javascript
代码整洁之道(重构)
2018/10/25 Javascript
[43:53]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第三场 8.22
2019/09/05 DOTA
Python创建日历实例
2014/08/21 Python
Python之多线程爬虫抓取网页图片的示例代码
2018/01/10 Python
numpy返回array中元素的index方法
2018/06/27 Python
Python pathlib模块使用方法及实例解析
2020/10/05 Python
澳大利亚100%丝绸多彩度假装商店:TheSwankStore
2019/09/04 全球购物
伦敦新晋轻奢耳饰潮牌:Tada & Toy
2020/05/25 全球购物
sleep()方法和wait()方法的区别是什么
2012/11/17 面试题
广告设计专业自荐信范文
2013/11/14 职场文书
学校岗位设置方案
2014/01/16 职场文书
模具专业自荐信
2014/05/29 职场文书
新农村建设典型材料
2014/05/31 职场文书
优秀党员事迹材料
2014/12/18 职场文书
培训班开班主持词
2015/07/02 职场文书
庆祝教师节主持词
2015/07/06 职场文书
2016领导干部廉洁从政心得体会
2016/01/19 职场文书
MySQL中存储时间的最佳实践指南
2021/07/01 MySQL