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 ...
随机推荐
- Windows 上安装 MySQL(8.0.11)
1.接下来我们需要配置下 MySQL 的配置文件 打开刚刚解压的文件夹 C:\web\mysql-8.0.11 ,在该文件夹下创建 my.ini 配置文件,编辑 my.ini 配置以下基本信息: [m ...
- Resharper快捷键汇总
编辑Ctrl + Space 代码完成 Ctrl + Shift + Space代码完成Ctrl + Alt + Space代码完成Ctrl + P 显示参数信息Alt + Insert 生成构造函数 ...
- 音乐出身的妹纸,零基础学习JAVA靠谱么
问:表示音乐出身的妹纸一枚 某一天突然觉得身边认识的是一群程序员 突然想 要不要也去试试... 众好友都觉得我该去做个老师,可是我怕我会误人子弟,祸害祖国下一代..... 要不要 要不要 学Ja ...
- Linux中常用目录作用
Linux一般相应的文件都会会放在相应的目录下.这样更有利于文件的查找. 1.可以在家目录root或home,以及temp目录下随便放东西. 2.根目录下的bin和sbin,usr目录下的bin和sb ...
- redis--解析字符串
# coding=utf-8import codecs if __name__ == '__main__': cmdlist = ("Decode") while True: cm ...
- one-hot编码理解
one-hot是比较常用的文本特征特征提取的方法. one-hot编码,又称“独热编码”.其实就是用N位状态寄存器编码N个状态,每个状态都有独立的寄存器位,且这些寄存器位中只有一位有效,说白了就是只能 ...
- RF:win10跑用例过程中有中文日志会显示非中文
问题:RobotFramework在win10跑用例过程中有中文日志会显示非中文,如截图: 解决: C:\Python27\Lib\site-packages\robot\utils\unic.py ...
- Spring Boot实现文件下载功能
我们只需要创建一个控制器(Controler)文件,即Controller目录下的File_Download.java,其完整目录如下: @Controller public class File_D ...
- vue cli 3
介绍 Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统 通过 @vue/cli 搭建交互式的项目脚手架. 通过 @vue/cli + @vue/cli-service-global 快 ...
- python框架django-web层
1.demo 命令行:django-admin startproject HelloWorld 命令执行成功后会根据模版生产一个django项目 然后通过 命令:python3 manage.py r ...