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.直接保存到指定路径的服务器上.需要时候在获取,这种方式 ...
随机推荐
- 修改openstack Centos镜像的默认用户的密码
Ubuntu官方提供的OpenStack镜像是用Key来登录的,太麻烦,可以改成用密码来登录. 修改image的工具叫:guestfish. yum install libguestfs-tools ...
- 经历了源码的痛苦,掌握DRF的核心序列化器
目录 DRF的核心--序列化器 序列化器 什么是序列化和反序列化? 序列化 序列化demo 字段类型 字段参数 序列化自定制返回字段 方法一:在序列化类(serializers.py)中写 方法二:在 ...
- 常用缓存(cache)淘汰算法(LFU、LRU、ARC、FIFO、MRU)
缓存算法是指令的一个明细表,用于决定缓存系统中哪些数据应该被删去. 常见类型包括LFU.LRU.ARC.FIFO.MRU. 最不经常使用算法(LFU): 这个缓存算法使用一个计数器来记录条目被访问的频 ...
- 机器学习优化算法之EM算法
EM算法简介 EM算法其实是一类算法的总称.EM算法分为E-Step和M-Step两步.EM算法的应用范围很广,基本机器学习需要迭代优化参数的模型在优化时都可以使用EM算法. EM算法的思想和过程 E ...
- (stm32f103学习总结)—输入捕获模式
一.输入捕获介绍 在定时器中断实验章节中我们介绍了通用定时器具有多种功能,输入捕获就是其中一种.STM32F1 除了基本定时器 TIM6 和 TIM7,其他定时器都具有输入捕获功能.输入捕获可以对输入 ...
- Matlab解析LQR与MPC的关系
mathworks社区中的这个资料还是值得一说的. 1 openExample('mpc/mpccustomqp') 我们从几个角度来解析两者关系,简单的说就是MPC是带了约束的LQR. 在陈虹模型预 ...
- elf,基于flexbox的响应式CSS框架
官网地址:http://jrainlau.github.io/elf/项目地址:https://github.com/jrainlau/elf 介绍 取名为"精灵"的elf,是一个 ...
- 从0搭建vue后台管理项目到颈椎病康复指南(一)
网上搜索了很久Vue项目搭建指南,并没有找到写的比较符合心意的,所以打算自己撸一个指南,集合众家之所长(不善于排版,有点逼死强迫症,如果觉得写的有问题,可以留言斧正,觉得写的太差的,可以留言哪里差, ...
- ES6-11学习笔记--Symbol
Symbol:一种新的原始数据类型 声明方式: let s1 = Symbol() let s2 = Symbol() console.log(s1); // Symbol() console.l ...
- Android 预置APK
1. 预置apk,使其不可卸载 第一步: 在 "/vendor/huawei/packages/apps" 目录下创建一个对应名称的文件夹. 第二步: 将 ...