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 正则表达式入门(初级篇)
Dec 07 Python
利用Python破解斗地主残局详解
Jun 30 Python
python回调函数中使用多线程的方法
Dec 25 Python
利用Python进行数据可视化常见的9种方法!超实用!
Jul 11 Python
对Python 3.2 迭代器的next函数实例讲解
Oct 18 Python
Python函数的参数常见分类与用法实例详解
Mar 30 Python
pandas的排序和排名的具体使用
Jul 31 Python
python实现网站用户名密码自动登录功能
Aug 09 Python
Python FTP文件定时自动下载实现过程解析
Nov 12 Python
Python实现微信好友的数据分析
Dec 16 Python
python七种方法判断字符串是否包含子串
Aug 18 Python
Python自动化之UnitTest框架实战记录
Sep 08 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
PHP 翻页 实例代码
2009/08/07 PHP
探讨:array2xml和xml2array以及xml与array的互相转化
2013/06/24 PHP
ThinkPHP分页类使用详解
2014/03/05 PHP
免费的ip数据库淘宝IP地址库简介和PHP调用实例
2014/04/08 PHP
PHP重置数组为连续数字索引的几种方式总结
2018/03/12 PHP
php app支付宝回调(异步通知)详解
2018/07/25 PHP
使用laravel和ECharts实现折线图效果的例子
2019/10/09 PHP
TP3.2.3框架文件上传操作实例详解
2020/01/23 PHP
JavaScript中的Window窗口对象
2008/01/16 Javascript
jQuery1.5.1 animate方法源码阅读
2011/04/05 Javascript
js onkeypress与onkeydown 事件区别详细说明
2012/12/13 Javascript
javascript模拟实现ajax加载框实例
2014/10/15 Javascript
基于jQuery实现复选框是否选中进行答题提示
2015/12/10 Javascript
JavaScript编程学习技巧汇总
2016/02/21 Javascript
详解微信小程序 wx.uploadFile 的编码坑
2017/01/23 Javascript
javascript自执行函数
2017/02/10 Javascript
使用vue制作FullPage页面滚动效果
2017/08/21 Javascript
jQuery+ajax实现动态添加表格tr td功能示例
2018/04/23 jQuery
js实现登录拖拽窗口
2020/02/10 Javascript
python append、extend与insert的区别
2016/10/13 Python
利用Tkinter和matplotlib两种方式画饼状图的实例
2017/11/06 Python
TensorFlow的权值更新方法
2018/06/14 Python
Python爬虫——爬取豆瓣电影Top250代码实例
2019/04/17 Python
Flask框架学习笔记之模板操作实例详解
2019/08/15 Python
Numpy对数组的操作:创建、变形(升降维等)、计算、取值、复制、分割、合并
2019/08/28 Python
利用python实现凯撒密码加解密功能
2020/03/31 Python
HTML5 CSS3给网站设计带来出色效果
2009/07/16 HTML / CSS
css3制作彩色边线3d立体按钮的示例(css3按钮)
2014/05/06 HTML / CSS
简约控的天堂:The Undone
2016/12/21 全球购物
英国家庭珠宝商:T. H. Baker
2018/02/08 全球购物
如何撰写岗位职责
2014/02/01 职场文书
《云房子》教学反思
2014/04/20 职场文书
微笑服务演讲稿
2014/05/13 职场文书
师德标兵事迹材料
2014/12/19 职场文书
2015年预算员工作总结
2015/05/14 职场文书
婚宴祝酒词大全
2015/08/10 职场文书