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中使用wxPython开发的一个简易笔记本程序实例
Feb 08 Python
Pthon批量处理将pdb文件生成dssp文件
Jun 21 Python
python实现学生管理系统
Jan 11 Python
python实现将一个数组逆序输出的方法
Jun 25 Python
Python实现图片拼接的代码
Jul 02 Python
Python实现两个list求交集,并集,差集的方法示例
Aug 02 Python
Python中dict和set的用法讲解
Mar 28 Python
对Python 检查文件名是否规范的实例详解
Jun 10 Python
python多进程下的生产者和消费者模型
May 07 Python
浅谈Python里面None True False之间的区别
Jul 09 Python
Python Web项目Cherrypy使用方法镜像
Nov 05 Python
Python 使用xlwt模块将多行多列数据循环写入excel文档的操作
Nov 10 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
ThinkPHP中RBAC类的四种用法分析
2014/11/24 PHP
详解WordPress中的头像缓存和代理中的缓存更新方法
2016/03/01 PHP
jquery1.83 之前所有与异步列队相关的模块详细介绍
2012/11/13 Javascript
JS将表单导出成EXCEL的实例代码
2013/11/11 Javascript
不使用jquery实现js打字效果示例分享
2014/01/19 Javascript
5个JavaScript经典面试题
2014/10/13 Javascript
jquery中object对象循环遍历的方法
2015/12/18 Javascript
JS Array创建及concat()split()slice()的使用方法
2016/06/03 Javascript
js中遍历Map对象的简单实例
2016/08/08 Javascript
简易的JS计算器实现代码
2016/10/18 Javascript
vue2 中如何实现动态表单增删改查实例
2017/06/09 Javascript
JS获取当前地理位置的方法
2017/10/25 Javascript
vue axios 表单提交上传图片的实例
2018/03/16 Javascript
使用bootstrap实现下拉框搜索功能的实例讲解
2018/08/10 Javascript
laydate时间日历插件使用方法详解
2018/11/14 Javascript
js实现通过开始结束控制的计时器
2019/02/25 Javascript
Vue2.0使用嵌套路由实现页面内容切换/公用一级菜单控制页面内容切换(推荐)
2019/05/08 Javascript
vuex存储token示例
2019/11/11 Javascript
jquery实现直播弹幕效果
2019/11/28 jQuery
vue中英文切换实例代码
2020/01/21 Javascript
[01:04:05]VG vs Newbee 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
python socket网络编程步骤详解(socket套接字使用)
2013/12/06 Python
Python获取文件ssdeep值的方法
2014/10/05 Python
python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)
2017/03/12 Python
Python分支结构(switch)操作简介
2018/01/17 Python
python3爬虫怎样构建请求header
2018/12/23 Python
网络安全类面试题
2015/08/01 面试题
P/Invoke是什么
2015/07/31 面试题
学校安全工作制度
2014/01/19 职场文书
法学函授自我鉴定
2014/02/06 职场文书
高中学生期末评语
2014/04/25 职场文书
文明礼仪倡议书
2015/04/28 职场文书
入党积极分子半年考察意见
2015/06/02 职场文书
Python入门之基础语法详解
2021/05/11 Python
Python+Selenium自动化环境搭建与操作基础详解
2022/03/13 Python
Ubuntu安装Mysql+启用远程连接的完整过程
2022/06/21 Servers