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编写Linux系统守护进程实例
Feb 03 Python
Python注释详解
Jun 01 Python
Python 实现随机数详解及实例代码
Apr 15 Python
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
May 11 Python
redis之django-redis的简单缓存使用
Jun 07 Python
Sanic框架基于类的视图用法示例
Jul 18 Python
Python 运行 shell 获取输出结果的实例
Jan 07 Python
Django restframework 源码分析之认证详解
Feb 22 Python
Python udp网络程序实现发送、接收数据功能示例
Dec 09 Python
python-xpath获取html文档的部分内容
Mar 06 Python
django中的数据库迁移的实现
Mar 16 Python
Python数据可视化图实现过程详解
Jun 12 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和ACCESS写聊天室(十)
2006/10/09 PHP
开源SNS系统-ThinkSNS
2008/05/18 PHP
php 字符串替换的方法
2012/01/10 PHP
laravel 实现用户登录注销并限制功能
2019/10/24 PHP
PHP Web表单生成器案例分析
2020/06/02 PHP
jQuery的Ajax的自动完成功能控件简要说明
2013/02/22 Javascript
ES6中如何使用Set和WeakSet
2016/03/10 Javascript
使用jquery.form.js实现图片上传的方法
2016/05/05 Javascript
jQuery 调用WebService 实例讲解
2016/06/28 Javascript
Bootstrap导航条学习使用(一)
2017/02/08 Javascript
利用jQuery实现一个简单的表格上下翻页效果
2017/03/14 Javascript
用Electron写个带界面的nodejs爬虫的实现方法
2019/01/29 NodeJs
PHP实现基于Redis的MessageQueue队列封装操作示例
2019/02/02 Javascript
vue router总结 $router和$route及router与 router与route区别
2019/07/05 Javascript
Python中的高级函数map/reduce使用实例
2015/04/13 Python
简单分析Python中用fork()函数生成的子进程
2015/05/04 Python
python将控制台输出保存至文件的方法
2019/01/07 Python
Mac在python3环境下安装virtualwrapper遇到的问题及解决方法
2019/07/09 Python
python设置随机种子实例讲解
2019/09/12 Python
使用python快速实现不同机器间文件夹共享方式
2019/12/22 Python
浅谈tensorflow中Dataset图片的批量读取及维度的操作详解
2020/01/20 Python
用python爬虫批量下载pdf的实现
2020/12/01 Python
HTML5实现Notification API桌面通知功能
2016/03/02 HTML / CSS
JINS眼镜官方网站:日本最大的眼镜邮购
2016/10/14 全球购物
有750多个顶级品牌的瑞士时尚在线:ABOUT YOU
2017/01/04 全球购物
马来西亚领先的在线礼品店:Giftr
2018/08/23 全球购物
SOKOLOV官网:俄罗斯珠宝首饰品牌
2021/01/02 全球购物
应届生体育教师自荐信
2013/10/03 职场文书
网络教育自我鉴定
2014/02/04 职场文书
超市开业庆典策划方案
2014/05/14 职场文书
优秀研究生主要事迹
2014/06/03 职场文书
爱护公共设施标语
2014/06/24 职场文书
计算机求职信
2014/07/02 职场文书
授权委托书范文
2014/07/31 职场文书
办公室规章制度范本
2015/08/04 职场文书
oracle重置序列从0开始递增1
2022/02/28 Oracle