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中列表list以及list与数组array的相互转换实现方法
Sep 22 Python
Android分包MultiDex策略详解
Oct 30 Python
Django视图和URL配置详解
Jan 31 Python
python实现网页自动签到功能
Jan 21 Python
Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加签验签
Dec 04 Python
使用python写一个自动浏览文章的脚本实例
Dec 05 Python
tensorflow ckpt模型和pb模型获取节点名称,及ckpt转pb模型实例
Jan 21 Python
python_array[0][0]与array[0,0]的区别详解
Feb 18 Python
python通过对字典的排序,对json字段进行排序的实例
Feb 27 Python
pygame用blit()实现动画效果的示例代码
May 28 Python
解决阿里云邮件发送不能使用25端口问题
Aug 07 Python
解决tensorflow模型压缩的问题_踩坑无数,总算搞定
Mar 02 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
echo(),print(),print_r()之间的区别?
2006/11/19 PHP
如何隐藏你的.php文件
2007/01/04 PHP
浅谈javascript的数据类型检测
2010/07/10 Javascript
Javascript中的for in循环和hasOwnProperty结合使用
2013/06/05 Javascript
jQuery的控件及事件(输入控件及回车事件)使用示例
2013/07/25 Javascript
javascript确认框的三种使用方法
2013/12/17 Javascript
js opener的使用详解
2014/01/11 Javascript
JQuery教学之性能优化
2014/05/14 Javascript
使用insertAfter()方法在现有元素后添加一个新元素
2014/05/28 Javascript
JavaScript中实现异步编程模式的4种方法
2014/09/24 Javascript
PHP 数组current和next用法分享
2015/03/05 Javascript
包含中国城市的javascript对象实例
2015/08/03 Javascript
Easyui form combobox省市区三级联动
2016/01/13 Javascript
简单模拟node.js中require的加载机制
2016/10/27 Javascript
JavaScript实现点击按钮复制指定区域文本(推荐)
2016/11/25 Javascript
Nodejs+Socket.io实现通讯实例代码
2017/02/13 NodeJs
详谈angularjs中路由页面强制更新的问题
2017/04/24 Javascript
Nodejs搭建wss服务器教程
2017/05/24 NodeJs
JS实现的走迷宫小游戏完整实例
2017/07/19 Javascript
Ionic3实现图片瀑布流布局
2017/08/09 Javascript
js使用formData实现批量上传
2020/03/27 Javascript
12个提高JavaScript技能的概念(小结)
2019/05/09 Javascript
Vue 修改网站图标的方法
2020/12/31 Vue.js
Python实现控制台输入密码的方法
2015/05/29 Python
Python+OpenCV实现车牌字符分割和识别
2018/03/31 Python
Pandas 数据处理,数据清洗详解
2018/07/10 Python
Python爬取成语接龙类网站
2018/10/19 Python
在python下读取并展示raw格式的图片实例
2019/01/24 Python
Python多进程方式抓取基金网站内容的方法分析
2019/06/03 Python
Python *args和**kwargs用法实例解析
2020/03/02 Python
Sephora丝芙兰印尼官方网站:购买化妆品和护肤品
2018/07/02 全球购物
重阳节活动总结
2014/08/27 职场文书
效能风暴心得体会
2014/09/04 职场文书
小时代观后感
2015/06/10 职场文书
农村房屋租赁合同(范本)
2019/07/23 职场文书
详解如何使用Nginx解决跨域问题
2022/05/06 Servers