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 相关文章推荐
go和python调用其它程序并得到程序输出
Feb 10 Python
使用python统计文件行数示例分享
Feb 21 Python
python time模块用法实例详解
Sep 11 Python
简单解决Python文件中文编码问题
Nov 22 Python
Python使用中文正则表达式匹配指定中文字符串的方法示例
Jan 20 Python
如何在python中使用selenium的示例
Dec 26 Python
Linux CentOS Python开发环境搭建教程
Nov 28 Python
python爬虫神器Pyppeteer入门及使用
Jul 13 Python
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
Aug 12 Python
Python实现网页截图(PyQT5)过程解析
Aug 12 Python
Windows下PyCharm2018.3.2 安装教程(图文详解)
Oct 24 Python
通过代码实例了解Python sys模块
Sep 14 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程序占用多少内存(memory_get_usage)
2012/09/23 PHP
深入理解require与require_once与include以及include_once的区别
2013/06/05 PHP
php使用Image Magick将PDF文件转换为JPG文件的方法
2015/04/01 PHP
浅谈PHP发送HTTP请求的几种方式
2017/07/25 PHP
php函数式编程简单示例
2019/08/08 PHP
javascript vvorld 在线加密破解方法
2008/11/13 Javascript
jquery 使用点滴函数代码
2011/05/20 Javascript
基于Vue.js实现tab滑块效果
2017/07/23 Javascript
JavaScript继承与多继承实例分析
2018/05/26 Javascript
开发用到的js封装方法(20种)
2018/10/12 Javascript
解决node-sass偶尔安装失败的方法小结
2018/12/05 Javascript
vue-router重定向和路由别名的使用讲解
2019/01/19 Javascript
vue+Element-ui前端实现分页效果
2020/11/15 Javascript
[01:08:00]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[03:55]TI9战队采访——TNC Predator
2019/08/22 DOTA
[39:19]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第二场 11.26
2020/11/30 DOTA
python教程之用py2exe将PY文件转成EXE文件
2014/06/12 Python
python正则表达式re之compile函数解析
2017/10/25 Python
python批量下载网站马拉松照片的完整步骤
2018/12/05 Python
python自动化工具之pywinauto实例详解
2019/08/26 Python
Python如何基于rsa模块实现非对称加密与解密
2020/01/03 Python
python通用数据库操作工具 pydbclib的使用简介
2020/12/21 Python
英国口碑最好的的维他命胶囊品牌:Myvitamins(有中文站)
2016/12/03 全球购物
德国最大的拼图在线商店:Puzzle.de
2016/12/17 全球购物
英国领先的在线药房:Pharmacy First
2017/09/10 全球购物
卡骆驰德国官方网站:Crocs德国
2019/03/29 全球购物
电气工程及自动化专业自荐书范文
2013/12/18 职场文书
讲党性心得体会
2014/09/03 职场文书
好媳妇事迹材料
2014/12/24 职场文书
三八红旗手事迹材料
2014/12/26 职场文书
个人工作保证书
2015/02/28 职场文书
服装区域经理岗位职责
2015/04/10 职场文书
MySQL 视图(View)原理解析
2021/05/19 MySQL
Mysql分库分表之后主键处理的几种方法
2022/02/15 MySQL
漫画《催眠麦克风-Dawn Of Divisions》第二卷PV公开
2022/04/05 日漫
Win11软件图标固定到任务栏
2022/04/19 数码科技