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常用的内置序列结构(列表、元组、字典)学习笔记
Jul 08 Python
Python selenium 父子、兄弟、相邻节点定位方式详解
Sep 15 Python
python读取文本绘制动态速度曲线
Jun 21 Python
windows下cx_Freeze生成Python可执行程序的详细步骤
Oct 09 Python
使用Python实现文字转语音并生成wav文件的例子
Aug 08 Python
Python使用正则实现计算字符串算式
Dec 29 Python
Python面向对象编程基础实例分析
Jan 17 Python
解决TensorFlow模型恢复报错的问题
Feb 06 Python
Pandas读取csv时如何设置列名
Jun 02 Python
keras分类之二分类实例(Cat and dog)
Jul 09 Python
django中cookiecutter的使用教程
Dec 03 Python
python中time、datetime模块的使用
Dec 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
全国FM电台频率大全 - 3 河北省
2020/03/11 无线电
用PHP实现登陆验证码(类似条行码状)
2006/10/09 PHP
php trim 去除空字符的定义与语法介绍
2010/05/31 PHP
PHP 返回13位时间戳的实现代码
2016/05/13 PHP
js 模拟实现类似c#下的hashtable的简单功能代码
2010/01/24 Javascript
ajax 缓存 问题 requestheader
2010/08/01 Javascript
js中关于String对象的replace使用详解
2011/05/24 Javascript
Javascript计算时间差的函数分享
2011/07/04 Javascript
javascript学习(二)javascript常见问题总结
2013/01/02 Javascript
jquery实现初次打开有动画效果的网页TAB切换代码
2015/09/06 Javascript
JS实现左右拖动改变内容显示区域大小的方法
2015/10/13 Javascript
深入理解setTimeout函数和setInterval函数
2016/05/20 Javascript
JS瀑布流实现方法实例分析
2016/12/19 Javascript
Vuejs 单文件组件实例详解
2018/02/09 Javascript
vue2.0 elementUI制作面包屑导航栏
2018/02/22 Javascript
vue视频播放插件vue-video-player的具体使用方法
2019/11/08 Javascript
[02:43]DOTA2英雄基础教程 圣堂刺客
2013/12/09 DOTA
[14:19]2018年度COSER大赛-完美盛典
2018/12/16 DOTA
Python原始字符串与Unicode字符串操作符用法实例分析
2017/07/22 Python
numpy自动生成数组详解
2017/12/15 Python
python pands实现execl转csv 并修改csv指定列的方法
2018/12/12 Python
Python分析彩票记录并预测中奖号码过程详解
2019/07/09 Python
opencv 获取rtsp流媒体视频的实现方法
2019/08/23 Python
在pycharm中配置Anaconda以及pip源配置详解
2019/09/09 Python
Python学习笔记之函数的参数和返回值的使用
2019/11/20 Python
Python 解决OPEN读文件报错 ,路径以及r的问题
2019/12/19 Python
解决Python命令行下退格,删除,方向键乱码(亲测有效)
2020/01/16 Python
Django DRF认证组件流程实现原理详解
2020/08/17 Python
Carolina工作鞋官网:Carolina Footwear
2019/03/14 全球购物
欧洲最古老的鞋厂:Peter Kaiser
2019/11/05 全球购物
工商管理毕业生推荐信
2013/12/24 职场文书
《九色鹿》教学反思
2014/02/27 职场文书
关于环保的建议书
2014/05/12 职场文书
2015年中秋节演讲稿
2015/03/20 职场文书
2015暑期社会实践调查报告
2015/07/14 职场文书
感恩父母主题班会
2015/08/12 职场文书