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中使用poplib模块收取邮件的教程
Apr 29 Python
使用Python读取安卓手机的屏幕分辨率方法
Mar 31 Python
python3安装pip3(install pip3 for python 3.x)
Apr 03 Python
python模拟表单提交登录图书馆
Apr 27 Python
python中的decimal类型转换实例详解
Jun 26 Python
python中必要的名词解释
Nov 20 Python
python小项目之五子棋游戏
Dec 26 Python
Django实现图片上传功能步骤解析
Apr 22 Python
你应该知道的Python3.6、3.7、3.8新特性小结
May 12 Python
python中time包实例详解
Feb 02 Python
如何在向量化NumPy数组上进行移动窗口
May 18 Python
OpenCV绘制圆端矩形的示例代码
Aug 30 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
Terran魔法科技
2020/03/14 星际争霸
PHP5.4中json_encode中文转码的变化小结
2013/01/30 PHP
基于php socket(fsockopen)的应用实例分析
2013/06/02 PHP
php多文件上传实现代码
2014/02/20 PHP
PHP实现把MySQL数据库导出为.sql文件实例(仿PHPMyadmin导出功能)
2014/05/10 PHP
php实现根据词频生成tag云的方法
2015/04/17 PHP
php实现计算百度地图坐标之间距离的方法
2016/05/05 PHP
php 处理png图片白色背景色改为透明色的实例代码
2018/12/10 PHP
php实现银联商务公众号+服务窗支付的示例代码
2019/10/12 PHP
jQuery创建平滑的页面滚动(顶部或底部)
2013/02/26 Javascript
js匿名函数作为函数参数详解
2016/06/01 Javascript
select下拉框插件jquery.editable-select详解
2017/01/22 Javascript
js实现省份下拉菜单效果
2017/02/15 Javascript
详解webpack 配合babel 将es6转成es5 超简单实例
2017/05/02 Javascript
利用vueJs实现图片轮播实例代码
2017/06/03 Javascript
vue如何判断dom的class
2018/04/26 Javascript
小程序图片剪裁加旋转的示例代码
2018/07/10 Javascript
Vue.js子组件向父组件通信的方法实例代码详解
2018/12/10 Javascript
vue 源码解析之虚拟Dom-render
2019/08/26 Javascript
vue el-table实现自定义表头
2019/12/11 Javascript
简单了解JS打开url的方法
2020/02/21 Javascript
VUE table表格动态添加一列数据,新增的这些数据不可以编辑(v-model绑定的数据不能实时更新)
2020/04/03 Javascript
用Python登录Gmail并发送Gmail邮件的教程
2015/04/17 Python
使用python Fabric动态修改远程机器hosts的方法
2018/10/26 Python
如何利用Python matplotlib绘制雷达图
2020/12/21 Python
匈牙利墨盒和碳粉购买网站:CDRmarket
2018/04/14 全球购物
如何用Java判断一个文件或目录是否存在
2012/11/19 面试题
大学生的四年学习自我评价
2013/12/13 职场文书
英文简历中的自荐信范文
2013/12/14 职场文书
研修第一天随笔感言
2014/02/15 职场文书
集中整治工作方案
2014/05/01 职场文书
中国梦团日活动总结
2014/07/07 职场文书
2015年七一建党节活动方案
2015/05/05 职场文书
数学复习课教学反思
2016/02/18 职场文书
Python基础详解之描述符
2021/04/28 Python
浅析Redis Sentinel 与 Redis Cluster
2021/06/24 Redis