Python校验文件MD5值
import hashlib
import os def GetFileMd5(filename):
if not os.path.isfile(filename):
return
myHash = hashlib.md5()
f = open(filename,'rb')
while True:
b = f.read(8096)
if not b :
break
myHash.update(b)
f.close()
return myHash.hexdigest() print(GetFileMd5('/Users/binyun007/Desktop/xxx')) #文件路径
窗口模式, 需要pip安装PyQt5
import sys
import os
import hashlib
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QMessageBox
from PyQt5.Qt import QLineEdit class App(QWidget): def __init__(self):
super().__init__()
self.title = 'MD5校验'
self.left = 800
self.top = 600
self.width = 320
self.height = 200
self.initUI() def initUI(self):
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height) # create textbox
self.textbox = QLineEdit(self)
# self.textbox.setText('/Users/binyun007/Desktop/') #设置文本框的默认值
self.textbox.setText(FileRecord.readpath()) #读取文本框的默认值
self.textbox.move(20, 20)
self.textbox.resize(280, 40) # Create a button in the window
self.button = QPushButton('校验', self)
self.button.move(20, 80) # connect button to function on_click
self.button.clicked.connect(self.on_click)
self.show() def on_click(self):
textboxValue = self.textbox.text()
md5 = GetFileMd5(textboxValue)
QMessageBox.question(self, "Message", 'MD5:' + md5,
QMessageBox.Ok,QMessageBox.Ok)
"""打印完毕之后设置文本框默认值为上一次使用后的"""
FileRecord.writpath(textboxValue)
#self.textbox.setText(textboxValue) # #保存、读取MD5记录
class FileRecord(): #保存
def writpath(filepath):
with open('md5.txt','w') as f:
f.write(filepath) #读取
def readpath():
try:
with open('md5.txt','r') as f:
record = f.readline()
return record #如果文件不存在创建
except FileNotFoundError:
with open('md5.txt','w') as f:
return #校验MD5值
def GetFileMd5(filename):
if not os.path.isfile(filename):
return
myHash = hashlib.md5()
f = open(filename,'rb')
while True:
b = f.read(8096)
if not b :
break
myHash.update(b)
f.close()
return myHash.hexdigest() if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
app.exit(app.exec_())
Python校验文件MD5值的更多相关文章
- python 计算文件md5值
md5是一种常见不可逆加密算法,使用简单,计算速度快,在很多场景下都会用到,比如:给用户上传的文件命名,数据库中保存的用户密码,下载文件后检验文件是否正确等.下面讲解在python中如何使用md5算法 ...
- Python计算文件MD5值
import hashlib def fileMD5(filename): m = hashlib.md5() #md5计算 #m = hashlib.sha1() #sha1计算 #m = hash ...
- MD5工具类,提供字符串MD5加密、文件MD5值获取(校验)功能
MD5工具类,提供字符串MD5加密(校验).文件MD5值获取(校验)功能 : package com.yzu.utils; import java.io.File; import java.io.Fi ...
- java计算过G文件md5 值计算
package io.bigdata; import java.io.File; import java.io.FileInputStream; import java.io.IOException; ...
- QT 获取文件MD5值
/* 方法1 */ QFile theFile(fileNamePath); theFile.open(QIODevice::ReadOnly); QByteArray ba = QCryptogra ...
- JAVA中获取文件MD5值的四种方法
JAVA中获取文件MD5值的四种方法其实都很类似,因为核心都是通过JAVA自带的MessageDigest类来实现.获取文件MD5值主要分为三个步骤,第一步获取文件的byte信息,第二步通过Messa ...
- C# 获取文件MD5值的方法
可用于对比文件是否相同 /// <summary> /// 获取文件MD5值 /// </summary> /// <param name="fileName& ...
- 基于js-spark-md5前端js类库,快速获取文件Md5值
js-spark-md5是歪果仁开发的东西,有点多,但是我们只要一个js文件即可,具体类包我存在自己的oschina上,下载地址:https://git.oschina.net/jianqingwan ...
- C#统计目录中文件MD5值
1. [代码]统计目录中文件MD5值 using System.IO;using System.Security.Cryptography;using System.Collections;using ...
随机推荐
- ActionFilterAttribute 全局记录API日志
1.API项目下创建MonitorApiAttribute public class MonitorApiAttribute : ActionFilterAttribute { private sta ...
- TNS-12541: TNS: 无监听程序 解决方案
转自 感谢 https://www.cnblogs.com/yx007/p/6732012.html 问题描述 在用PL/SQL Developer连接Oracle 11g时报错“ORA-12 ...
- mybatis与Spring
提问1:如果没有spring-mybatis,我们如何在spring中使用定义bean,如何使用事务? mybatis-Spring为我们带来多种方式的Mapper接口的注册,扫描,识别. 如果不使用 ...
- jupyter可视化调试
1. 安装PixieDust pip install pixiedust 2. %%pixie_debugger <The Visual Python Debugger for Jupyter ...
- 微信小程序从零开始开发步骤-引入框架WeUI
首先来看下WeUI的官方介绍: WeUI 是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信内网页和微信小程序量身设计,令用户的使用感知更加统一.在微信小程序的开发过程中,涉及到的前端 ...
- 将String类型的json字符串转换成java对象
1,import com.fasterxml.jackson.databind.ObjectMapper; ObjectMapper mapper = new ObjectMapper(); Mycl ...
- app常见专项测试点
转载自 https://blog.csdn.net/xiaomaoxiao336368/article/details/84887948
- Laravel 5.3 单用户登录的简单实现
需求 一个用户不能重复登录. 后登录者可以踢掉前者. 设计思路: 核心概念 用户ID: 是用户表主键 singleToken 算法: singleToken = md5(用户IP + 用户ID + 登 ...
- Linux发行版:CentOS、Ubuntu、RedHat、Android、Tizen、MeeGo
Linux,最早由Linus Benedict Torvalds在1991年开始编写.在这之前,Richard Stallman创建了Free Software Foundation(FSF)组织以及 ...
- 手动卸载的vs2010
手动卸载的vs2010: 环境:Win7 卸载工具:IobitUninstaller(绿色版)//个人推荐,比较强大好用按照以下顺序:1.Microsoft .NET Framework 4 框架 ...