Python实现计算文件MD5和SHA1的方法示例


Posted in Python onJune 11, 2019

本文实例讲述了Python实现计算文件MD5和SHA1的方法。分享给大家供大家参考,具体如下:

不多说,直接源码:

#file md5
import sys;
import hashlib;
import os.path;
def GetFileMd5(strFile):
 file = None;
 bRet = False;
 strMd5 = "";
 strSha1 = "";
 try:
 file = open(strFile, "rb");
 md5 = hashlib.md5();
 sha1 = hashlib.sha1();
 strRead = "";
 while True:
  strRead = file.read(8096);
  if not strRead:
  break;
  else:
  md5.update(strRead);
  sha1.update(strRead);
 #read file finish
 bRet = True;
 strMd5 = md5.hexdigest();
 strSha1 = sha1.hexdigest();
 except:
 bRet = False;
 finally:
 if file:
  file.close()
 return [bRet, strMd5, strSha1];
def writFile(strInfo):
 file = None;
 file = open("E:\\1.txt", 'w+');
 file.write(strInfo);
 file.write("\n");
 if file:
 file.close();
if "__main__" == __name__:
  bOK , md5str1, sha1str1 = GetFileMd5("E:\\1.mp3");
  print(md5str1);
  md5All = md5str1 + "\t" + sha1str1;
  md5All += "\n";
  bOK , md5str2, sha1str2 = GetFileMd5("E:\\2.mp3");
  print(md5str2);
  writFile(md5str2 + "\t" +sha1str2);
  md5All += (md5str2 + "\t" + sha1str2);
  md5All += "\n";
  bOK , md5str3, sha1str3 = GetFileMd5("E:\\3.mp3");
  print(md5str3);
  writFile(md5str3 + "\t" +sha1str3);
  md5All += (md5str2 + "\t" + sha1str3);
  md5All += "\n";
  writFile(md5All);

产生的文件如下:

e712ca35354ff51803b51f3c7db03a81 8417609d07ce1bbd53111f1664ecfb63422749bb
34d7451ef9fbeb4c1ebbf2ed5cb96329 9d7009e1f1cd750f5a795d25491a5d294a45f3b2
34d7451ef9fbeb4c1ebbf2ed5cb96329 8a11f608aee135dd1d4b8c64af0721790e0a0b32

要是自己使用,改吧,改吧就可以使用了。

Python 相关文章推荐
python实现kNN算法
Dec 20 Python
python http接口自动化脚本详解
Jan 02 Python
python正则实现提取电话功能
Feb 24 Python
Python实现的凯撒密码算法示例
Apr 12 Python
Python 实现异步调用函数的示例讲解
Oct 14 Python
Python创建一个空的dataframe,并循环赋值的方法
Nov 08 Python
Python3最长回文子串算法示例
Mar 04 Python
python实现双色球随机选号
Jan 01 Python
什么是Python中的匿名函数
Jun 02 Python
基于PyTorch的permute和reshape/view的区别介绍
Jun 18 Python
Python 如何创建一个线程池
Jul 28 Python
python的数学算法函数及公式用法
Nov 18 Python
python 求1-100之间的奇数或者偶数之和的实例
Jun 11 #Python
python flask框架实现传数据到js的方法分析
Jun 11 #Python
python 求一个列表中所有元素的乘积实例
Jun 11 #Python
python ChainMap的使用和说明详解
Jun 11 #Python
python 计算一个字符串中所有数字的和实例
Jun 11 #Python
python 实现返回一个列表中出现次数最多的元素方法
Jun 11 #Python
python ChainMap 合并字典的实现步骤
Jun 11 #Python
You might like
当年上海收录机产品生产,进口和价格情况
2021/03/04 无线电
php mssql 数据库分页SQL语句
2008/12/16 PHP
php笔记之:文章中图片处理的使用
2013/04/26 PHP
PHP实现一维数组转二维数组的方法
2015/02/25 PHP
PHP的mysqli_ssl_set()函数讲解
2019/01/23 PHP
比较搞笑的js陷阱题
2010/02/07 Javascript
小议Javascript中的this指针
2010/03/18 Javascript
JavaScript 放大镜 移动镜片效果代码
2011/05/09 Javascript
简略说明Javascript中的= =(等于)与= = =(全等于)区别
2013/04/16 Javascript
多种方法判断Javascript对象是否存在
2013/09/22 Javascript
Jquery 复选框取值兼容FF和IE8(测试有效)
2013/10/29 Javascript
jQuery获取和设置表单元素的方法
2014/02/14 Javascript
js实现三张图(文)片一起切换的banner焦点图
2015/08/25 Javascript
jQuery定义插件的方法
2015/12/18 Javascript
node.js使用cluster实现多进程
2016/03/17 Javascript
JavaScript实现的微信二维码图片生成器的示例
2016/10/26 Javascript
微信小程序 开发工具快捷键整理
2016/10/31 Javascript
Bootstrap实现导航栏的2种方式
2016/11/28 Javascript
Node.js和Express简单入门介绍
2017/03/24 Javascript
React服务端渲染(总结)
2017/07/01 Javascript
使用Node.js实现ORM的一种思路详解(图文)
2017/10/24 Javascript
ES7中利用Await减少回调嵌套的方法详解
2017/11/01 Javascript
three.js利用卷积法如何实现物体描边效果
2019/11/27 Javascript
[00:35]DOTA2上海特级锦标赛 MVP.Phx战队宣传片
2016/03/04 DOTA
简单讲解Python中的闭包
2015/08/11 Python
Python基础之getpass模块详细介绍
2017/08/10 Python
谈一谈基于python的面向对象编程基础
2019/05/21 Python
英国马匹装备和马术用品购物网站:Equine Superstore
2019/03/03 全球购物
如果Session Bean得Remove方法一直都不被调用会怎么样
2012/07/14 面试题
计算机应用与科学个人的自我评价
2013/11/15 职场文书
大专会计自我鉴定
2014/02/06 职场文书
小学生植树节活动总结
2014/07/04 职场文书
2015党建工作简报
2015/07/21 职场文书
导游词之贵州百里杜鹃
2019/10/29 职场文书
致男子1500米运动员的广播稿
2019/11/08 职场文书
PHP策略模式写法
2021/04/01 PHP