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 19 Python
Python中的特殊语法:filter、map、reduce、lambda介绍
Apr 14 Python
Python操作串口的方法
Jun 17 Python
Python批量修改文本文件内容的方法
Apr 29 Python
Python3使用requests登录人人影视网站的方法
May 11 Python
Python3 中文文件读写方法
Jan 23 Python
pybind11在Windows下的使用教程
Jul 04 Python
python生成器推导式用法简单示例
Oct 08 Python
Python常用模块logging——日志输出功能(示例代码)
Nov 20 Python
解决Python命令行下退格,删除,方向键乱码(亲测有效)
Jan 16 Python
Python实现图片指定位置加图片水印(附Pyinstaller打包exe)
Mar 04 Python
Python爬取用户观影数据并分析用户与电影之间的隐藏信息!
Jun 29 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解压tar.gz格式文件的方法
2016/02/14 PHP
PHP读取大文件末尾N行的高效方法推荐
2016/06/03 PHP
html数组字符串拼接的最快方法
2009/09/16 Javascript
JavaScript中清空数组的三种方法分享
2011/04/07 Javascript
jQuery EasyUI API 中文文档 - NumberSpinner数值微调器使用介绍
2011/10/21 Javascript
javascript编码的几个方法详细介绍
2013/01/06 Javascript
JS实现兼容各种浏览器的高级拖动方法完整实例【测试可用】
2016/06/21 Javascript
jQuery事件对象总结
2016/10/17 Javascript
使用jquery实现的循环连续可停顿滚动实例
2016/11/23 Javascript
利用Vue.js框架实现火车票查询系统(附源码)
2017/02/27 Javascript
JS实现禁止用户使用Ctrl+鼠标滚轮缩放网页的方法
2017/04/28 Javascript
JS中的三个循环小结
2017/06/20 Javascript
基于Vue实例对象的数据选项
2017/08/09 Javascript
input输入框内容实时监测(附代码)
2017/08/15 Javascript
anime.js 实现带有描边动画效果的复选框(推荐)
2017/12/24 Javascript
微信小程序上传图片实例
2018/05/28 Javascript
nodejs 十六进制字符串型数据与btye型数据相互转换
2018/07/30 NodeJs
微信小程序文章列表功能完整实例
2020/06/03 Javascript
浅谈js中的attributes和Attribute的用法与区别
2020/07/16 Javascript
Javascript实现单选框效果
2020/12/09 Javascript
压缩包密码破解示例分享(类似典破解)
2014/01/17 Python
python图像处理之镜像实现方法
2015/05/30 Python
Python实现字符型图片验证码识别完整过程详解
2019/05/10 Python
Django框架实现的普通登录案例【使用POST方法】
2019/05/15 Python
Ubuntu+python将nii图像保存成png格式
2019/07/18 Python
Python3 无重复字符的最长子串的实现
2019/10/08 Python
python3实现用turtle模块画一棵随机樱花树
2019/11/21 Python
python中os.remove()用法及注意事项
2021/01/31 Python
HTML5地理定位实例
2014/10/15 HTML / CSS
在线购买澳大利亚设计师手拿包和奢华晚装手袋:Olga Berg
2019/03/20 全球购物
惠普新加坡官方商店:HP Singapore
2020/04/17 全球购物
怎样比较两个类型为String的字符串
2016/08/17 面试题
金士达面试非笔试
2012/03/14 面试题
励志演讲稿600字
2014/08/21 职场文书
网吧员工管理制度
2015/08/05 职场文书
2016庆祝教师节新闻稿
2015/11/25 职场文书