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

作者:Qyee16 时间:2023-12-07 06:55:46 

本文实例讲述了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

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

PS:关于加密解密感兴趣的朋友还可以参考本站在线工具:

文字在线加密解密工具(包含AES、DES、RC4等):
http://tools.jb51.net/password/txt_encode

MD5在线加密工具:
http://tools.jb51.net/password/CreateMD5Password

在线散列/哈希算法加密工具:
http://tools.jb51.net/password/hash_encrypt

在线MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:
http://tools.jb51.net/password/hash_md5_sha

在线sha1/sha224/sha256/sha384/sha512加密工具:
http://tools.jb51.net/password/sha_encode

希望本文所述对大家Python程序设计有所帮助。

来源:https://blog.csdn.net/qyee16/article/details/50086603

标签:Python,MD5,SHA1
0
投稿

猜你喜欢

  • mysql 8.0.14 安装配置方法图文教程

    2024-01-22 10:28:08
  • Python中SQLite数据库的使用

    2024-01-21 17:33:58
  • Python多线程以及多线程中join()的使用方法示例

    2021-02-07 16:25:03
  • 神经网络理论基础及Python实现详解

    2023-04-01 20:48:23
  • pytorch超详细安装教程之Anaconda、PyTorch和PyCharm全套安装流程

    2023-12-23 15:27:50
  • switchery按钮的使用方法

    2024-04-29 13:40:44
  • django 自定义filter 判断if var in list的例子

    2022-09-25 16:11:37
  • vue基础语法之插值表达式详解

    2024-05-10 14:10:48
  • 用python实现五子棋实例

    2022-08-23 21:42:38
  • Python数据结构之链表详解

    2023-07-21 04:16:19
  • 解读ASP.NET 5 & MVC6系列教程(2):初识项目

    2023-06-28 02:10:47
  • 跟我学习javascript的异步脚本加载

    2024-04-17 09:59:44
  • golang中的空slice案例

    2023-09-02 12:26:36
  • pytorch载入预训练模型后,实现训练指定层

    2022-01-22 12:40:35
  • python获取外网ip地址的方法总结

    2022-11-09 18:40:06
  • opencv-python 提取sift特征并匹配的实例

    2022-01-25 03:43:18
  • Python实现免费音乐下载器

    2023-12-26 23:51:16
  • ASP+FSO+框架实现ASP生成htm并分页的方法(批量)

    2009-03-09 18:26:00
  • Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解

    2024-05-03 15:29:17
  • Python 常用 PEP8 编码规范详解

    2022-09-03 06:21:12
  • asp之家 网络编程 m.aspxhome.com