获取文件 MD5和SHA1

摘要: 一个Python写的小工具,计算文件的MD5和SHA1,目前对指定文件进行计算,稍微修改,就可以为作为发布版本.

一个Python写的小工具,计算文件的MD5和SHA1,目前对指定文件进行计算,稍微修改,就可以为作为发布版本.

#file md5
#!/usr/bin/env python  
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:\\Nativelayer\\NLayer\\platform\\android\\libs\\armeabi\\libNLayer.so");
   print(md5str1);
   md5All = md5str1 + "\t" + sha1str1;
   md5All += "\n";
   
   bOK , md5str2, sha1str2 = GetFileMd5("E:\\Nativelayer\\NLayer\\platform\\android\\libs\\armeabi-v7a\\libNLayer.so");
   print(md5str2);
   writFile(md5str2 + "\t" +sha1str2);
   md5All += (md5str2 + "\t" + sha1str2);
   md5All += "\n";
   
   bOK , md5str3, sha1str3 = GetFileMd5("E:\\Nativelayer\\NLayer\\platform\\android\\libs\\x86\\libNLayer.so");
   print(md5str3);
   writFile(md5str3 + "\t" +sha1str3);
   md5All += (md5str2 + "\t" + sha1str3);
   md5All += "\n";
   
   writFile(md5All);

上一篇: bootstrap-table 的一些常用方法, 服务端分页,排序,样式等
下一篇: 机器人之间对聊,您想试试么

Avatar

www.54read.com 评论于: 2016-02-22

过来看看、关注一下
 评论 ( What Do You Think )
名称
邮箱
网址
评论
验证
   
 

 


  • 微信公众号

  • 我的微信

站点声明:

1、一号门博客CMS,由Python, MySQL, Nginx, Wsgi 强力驱动

2、部分文章或者资源来源于互联网, 有时候很难判断是否侵权, 若有侵权, 请联系邮箱:summer@yihaomen.com, 同时欢迎大家注册用户,主动发布无版权争议的 文章/资源.

3、鄂ICP备14001754号-3, 鄂公网安备 42280202422812号