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 相关文章推荐
django模型中的字段和model名显示为中文小技巧分享
Nov 18 Python
Django框架下在URLconf中指定视图缓存的方法
Jul 23 Python
使用Kivy将python程序打包为apk文件
Jul 29 Python
python 3.5实现检测路由器流量并写入txt的方法实例
Dec 17 Python
Python解析Excle文件中的数据方法
Oct 23 Python
Python GUI学习之登录系统界面篇
Aug 21 Python
简单了解python数组的基本操作
Nov 26 Python
Python Numpy数组扩展repeat和tile使用实例解析
Dec 09 Python
python super()函数的基本使用
Sep 10 Python
python实现数学模型(插值、拟合和微分方程)
Nov 13 Python
python3中TQDM库安装及使用详解
Nov 18 Python
Python+Xlwings 删除Excel的行和列
Dec 19 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开发GUI
2006/10/09 PHP
php采集速度探究总结(原创)
2008/04/18 PHP
简单谈谈php延迟静态绑定
2016/01/26 PHP
详解Laravel服务容器的绑定与解析
2019/11/05 PHP
Javascript 原型和继承(Prototypes and Inheritance)
2009/04/01 Javascript
jquery 日期分离成年月日的代码
2010/05/14 Javascript
javascript开发中因空格引发的错误
2010/11/08 Javascript
javascript运行机制之this详细介绍
2014/02/07 Javascript
jQuery实现的原图对比窗帘效果
2014/06/15 Javascript
Javascript 构造函数详解
2014/10/22 Javascript
nodejs 子进程正确的打开方式
2017/07/03 NodeJs
信息滚动效果的实例讲解
2017/09/18 Javascript
axios拦截设置和错误处理方法
2018/03/05 Javascript
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
2020/06/06 jQuery
在Vue中使用HOC模式的实现
2020/08/23 Javascript
如何利用 JS 脚本实现网页全自动秒杀抢购功能
2020/10/12 Javascript
python抓取京东商城手机列表url实例代码
2013/12/18 Python
实例解析Python中的__new__特殊方法
2016/06/02 Python
Python 常用的安装Module方式汇总
2017/05/06 Python
Python学习小技巧之利用字典的默认行为
2017/05/20 Python
Python实现合并同一个文件夹下所有txt文件的方法示例
2018/04/26 Python
Django读取Mysql数据并显示在前端的实例
2018/05/27 Python
Centos7下源码安装Python3 及shell 脚本自动安装Python3的教程
2020/03/07 Python
GDAL 矢量属性数据修改方式(python)
2020/03/10 Python
Python使用sqlite3模块内置数据库
2020/05/07 Python
python实现简单贪吃蛇游戏
2020/09/29 Python
IRO美国官网:法国服装品牌
2018/03/06 全球购物
英国大码女性时装零售商:Evans
2018/08/29 全球购物
美国Max仓库:Max Warehouse
2020/05/31 全球购物
JSF如何进行表格处理及取值
2012/08/06 面试题
我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?
2014/03/30 面试题
安全生产计划书
2014/05/04 职场文书
迟到检讨书范文
2015/01/27 职场文书
小学六一儿童节活动总结
2015/05/05 职场文书
公司周年庆寄语
2019/06/21 职场文书
Python机器学习之逻辑回归
2021/05/11 Python