最近学习中需要用到一些不可逆的加密,就在网上搜索了一些资料,自己整理了一个Python md5加密类,方便以后自己使用
import hashlib import os class Encrypt: #这里可以加个混淆码 key = 'hjhr!eu*gHT&HR7T15%616' error_msg = ''; #字符串MD5加密 def getStrMd5(self,str): hash_str = hashlib.md5() hash_str.update(self.key.encode("utf-8")) hash_str.update(str.encode("utf-8")) return hash_str.hexdigest() #获取文件的MD5 def getFileMd5(self,filepath): if not os.path.isfile(filepath): self.error_msg = 'file does not exist' return False hash_str = hashlib.md5() file = open(filepath,'rb') while True: block = file.read(8096) if not block: break hash_str.update(block) file.close() return hash_str.hexdigest() #获取错误信息 def getErrorMsg(self): return self.error_msg
使用方法如下
from aptest.Encrypt import Encrypt md5 = Encrypt() md5.getStrMd5('123456') md5.getFileMd5(file) md5.getErrorMsg()