windows 文件hash校验,字符串加密,base64转换工具
对下载的文件使用hash校验验证文件完整性
1 import hashlib
2 def md5():
3 md5_value = hashlib.md5()
4 with open('C:\Intel\S6720HI-V200R019C10SPC500.cc','rb') as f:
5 while True:
6 data = f.read(2048)
7 if not data:
8 break
9 md5_value.update(data)
10 print (md5_value.hexdigest())
11 md5()
也可用于前端页面注册用户信息,加密发送给后端
1 import hashlib
2 #创建对象,加盐
3 has = hashlib.md5('奔波的驱魔人'.encode('utf-8'))
4 pwd = input('请输入密码>>>')
5 #传入需要加密的字段
6 has.update(pwd.encode('utf-8'))
7 print(has.hexdigest())
8
9 #以上代码md5值等同于以下
10 has = hashlib.md5()
11 pwd = input('请输入密码>>>')
12 #传入需要加密的字段
13 has.update('奔波的驱魔人'.encode('utf-8'))
14 has.update(pwd.encode('utf-8'))
15 print(has.hexdigest())
base64编码与解码
1 import base64
2 a = 'vx:cs19911124'
3 a_encode = base64.b64encode(a.encode('utf-8'))
4 print(a_encode.decode('utf-8'))
5 b_decode = base64.b64decode(a_encode).decode('utf-8')
6 print(b_decode)
封装进 tkinter
1 import tkinter
2 from tkinter import filedialog
3 import hashlib,base64
4 class dark:
5 def __init__(self):
6 self.init_window = tkinter.Tk()
7 self.init_window.title('MD5转换工具')
8 self.init_window.geometry('1068x681+10+10')
9 def run(self):
10 self.left_lable = tkinter.Label(self.init_window,text='原始数据')
11 self.left_lable.grid(row=0,column=0)
12 self.right_lable = tkinter.Label(self.init_window,text='转换后数据')
13 self.right_lable.grid(row=0,column=12)
14 self.source_text = tkinter.Text(self.init_window,height=48,width=65)
15 self.source_text.grid(row=1,column=0,rowspan=11,columnspan=10)
16 self.change_text = tkinter.Text(self.init_window,height=48,width=65)
17 self.change_text.grid(row=1,rowspan=11,column=12,columnspan=10)
18 self.button = tkinter.Button(self.init_window,text='文件md5校验',command=self.filetomd5)
19 self.button.grid(row=4,column=11)
20 self.button = tkinter.Button(self.init_window,text='字符串转MD5',command=self.changetomd5)
21 self.button.grid(row=5,column=11)
22 self.button2 = tkinter.Button(self.init_window,text='字符串转BASE64',command=self.strtobase64)
23 self.button2.grid(row=7,column=11)
24 self.button3 = tkinter.Button(self.init_window,text='BASE64转字符串',command=self.base64tostr)
25 self.button3.grid(row=8,column=11)
26 self.init_window.mainloop()
27 def changetomd5(self):
28 source = self.source_text.get(1.0,tkinter.END).strip().replace("\n","").encode()
29 changemd5 = hashlib.md5()
30 changemd5.update(source)
31 ret = changemd5.hexdigest()
32 self.insert(ret)
33 def strtobase64(self):
34 source = self.source_text.get(1.0,tkinter.END).strip().replace("\n","").encode()
35 change_base64 = base64.b64encode(source).decode()
36 self.insert(change_base64)
37 def base64tostr(self):
38 source = self.source_text.get(1.0,tkinter.END).strip().replace("\n","").encode()
39 change_base64 = base64.b64decode(source).decode()
40 self.insert(change_base64)
41 def filetomd5(self):
42 selectFile = filedialog.askopenfilename()
43 md5_value = hashlib.md5()
44 try:
45 with open(selectFile,'rb') as f:
46 while True:
47 data = f.read(2048)
48 if not data:
49 break
50 md5_value.update(data)
51 self.insert(md5_value.hexdigest())
52 except:
53 pass
54 def insert(self,data):
55 self.change_text.delete(1.0,tkinter.END)
56 self.change_text.insert(1.0,data)
57 obj = dark()
58 obj.run()
打包成exe程序,运行效果如下

链接: https://pan.baidu.com/s/1YGz-jP77wcHAk-qiz5PuOw 提取码: 3rqq
windows 文件hash校验,字符串加密,base64转换工具的更多相关文章
- nodejs对字符串进行base64转换和解析
nodejs不支持使用atob和btoa 进行字符串base64转换,转换方法如下: // 转为base64 var strToBase64 = new Buffer('aaabbbccc').toS ...
- java util - base64转换工具
测试代码 package cn.java.codec.base64; public class Test { public static void main(String[] args) { Stri ...
- 利用base64函数,对文件进行转码加密
设计此种编码是为了使二进制数据可以通过非纯 8-bit 的传输层传输,例如电子邮件的内容就是通过base64转码后传输的.Base64-encoded后, 数据要比原始数据多占用 33% 左右的空间. ...
- [DEncrypt] MySecurity--安全加密/Base64/文件加密 (转载)
点击下载 MySecurity.zip 这个类是关于加密,解密的操作,文件的一些高级操作1.MySecurity 加密字符串2.MySecurity 加密字符串 密钥为系统默认 012345678 ...
- iOS使用MD5 - 字符串加密至MD5&获取文件MD5
iOS 字符串加密至MD5 + (NSString *) md5:(NSString *)str { unsigned ]; CC_MD5( cStr, strlen(cStr), result ); ...
- 在文件夹中 的指定类型文件中 查找字符串(CodeBlocks+GCC编译,控制台程序,仅能在Windows上运行)
说明: 程序使用 io.h 中的 _findfirst 和 _findnext 函数遍历文件夹,故而程序只能在 Windows 下使用. 程序遍历当前文件夹,对其中的文件夹执行递归遍历.同时检查遍历到 ...
- iOS字符串加密至MD5&及获取文件MD5
iOS 字符串加密至MD5 #import <CommonCrypto/CommonDigest.h> + (NSString *) md5:(NSString *)str { const ...
- java实现图片与base64字符串之间的转换
package cn.com; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOEx ...
- 将图片文件转化为字节数组字符串,并对其进行Base64编码处理,以及对字节数组字符串进行Base64解码并生成图片
实际开发中涉及图片上传并且量比较大的时候一般处理方式有三种 1.直接保存到项目中 最老土直接方法,也是最不适用的方法,量大对后期部署很不方便 2.直接保存到指定路径的服务器上.需要时候在获取,这种方式 ...
随机推荐
- Spark学习摘记 —— Pair RDD行动操作API归纳
本文参考 参考<Spark快速大数据分析>动物书中的第四章"键值对操作",本篇是对RDD转化操作和行动操作API归纳的最后一篇 RDD转化操作API归纳:https:/ ...
- 机器学习 machine learn
机器学习 机器学习 概述 什么是机器学习 机器学习是一门能够让编程计算机从数据中学习的计算机科学.一个计算机程序在完成任务T之后,获得经验E,其表现效果为P,如果任务T的性能表现,也就是用以衡量的P, ...
- 实现自定义的小程序底部tabbar
背景 诶,当然是为了实现更有温度的代码啦(背后设计师拿着刀对着我) 自带tabbar app.json中配置: tabBar: { backgroundColor: '#fff', borderSty ...
- 将百度地图Demo抽取出来安到自己的程序中
今日所学: 使用百度地图ADK实现手机定位 [Android]使用百度.高德.腾讯地图SDK获取定位数据与屏幕截图分享到QQ_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili 代码获取SHA1 (2 ...
- SpringBoot 项目搭建(详细介绍+案例源码)
SpringBoot 项目搭建 SpringBoot 项目整合源码 SpringBoot 项目整合 一.项目准备 1.1 快速创建 SpringBoot 项目 1.2 标准项目结构图如下 1.3 添加 ...
- mysql-加密函数
1.PASSWORD(str)一般对用户的密码加密 不可逆 2.MD5(str) 普通加密 不可逆 3.ENCODE(str,pswd_str) 加密函数,结果是一个二进制数,必须使用 BLOB 类型 ...
- java集合总览
在编写java程序中,我们最常用的除了八种基本数据类型,String对象外还有一个集合类,在我们的的程序中到处充斥着集合类的身影!java中集合大家族的成员实在是太丰富了,有常用的ArrayList. ...
- 关于websocket 的原理与应用
WebSocket是HTML5出的东西(协议),也就是说HTTP协议没有变化,或者说没关系,但HTTP是不支持持久连接的(长连接,循环连接的不算) http协议和websocket协议的关系如图 We ...
- Django高级之-缓存
一 缓存介绍 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面. 当一个网站的用户访问量很大的时候,每一次的的后台操作,都会消 ...
- 爬虫---scrapy全站爬取
全站爬取1 基于管道的持久化存储 数据解析(爬虫类) 将解析的数据封装到item类型的对象中(爬虫类) 将item提交给管道, yield item(爬虫类) 在管道类的process_item中接手 ...