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.直接保存到指定路径的服务器上.需要时候在获取,这种方式 ...
随机推荐
- 激光雷达 LOAM 论文 解析
转自:https://blog.csdn.net/hltt3838/article/details/109261334 固态激光雷达的一段视频:https://v.qq.com/x/page/a078 ...
- HTTP1.1、HTTP2、HTTP3 演变
推荐阅读:https://www.cnblogs.com/zwtblog/tag/计算机网络/ 目录 HTTP 基本概念 HTTP/1.1 相⽐ HTTP/1.0 提⾼了什么性能? HTTP/1.1如 ...
- 切图崽的自我修养-[ES6] 迭代器Iterator浅析
Iterator 这真是毅种循环 Iterator不是array,也不是set,不是map, 它不是一个实体,而是一种访问机制,是一个用来访问某个对象的接口规范,为各种不同的数据结构提供统一的访问机制 ...
- h4ck47h0n ? h4ck3r ? I"m just a coder......
[0x00]刚开了专栏,没事过来投投稿混眼熟啦~//才不是为了抱枕呢刚刚结束了黑客马拉松,回来也是缓了好久才缓过来.这么高强度的脑洞劳动···阿不,是脑力劳动的说.真的第一次.说起来,跟代码相识,还是 ...
- 大数据学习之路又之从csv文件到sql文件的操作过程
根据前几天的测试,简单的做个总结 csv文件的字段说明: 1.将csv文件上传到虚拟机中 在SecureCRT中点击,创建目录,直接把文件从本地拖拽进去 我放在了/linmob/data的路径下,所以 ...
- 微信支付之微信H5支付(坑,ajax不支持重定向跳转)
这里讲的是 微信h5支付, 是微信以外的手机浏览器调用微信h5支付 h5支付: H5支付是指商户在微信客户端外的移动端网页展示商品或服务,用户在前述页面确认使用微信支付时,商户发起本服务呼起 ...
- xml中的<![CDATA[]]>和转义字符
被<![CDATA[]]>这个标记所包含的内容将表示为纯文本,比如<![CDATA[<]]>表示文本内容"<". 此标记用于xml文档中,我们先 ...
- FastAPI(七十四)实战开发《在线课程学习系统》接口开发-- 删除留言
之前文章FastAPI(七十三)实战开发<在线课程学习系统>接口开发-- 回复留言,那么我们这次分享删除留言接口的开发 可以对留言进行删除,这里的删除,我们使用的是逻辑的删除,不是物理删除 ...
- centos6的yum源更新版本
概述 centos6系统从2020年12月1号开始不再维护,官方的yum源不再可用,同时国内的阿里云镜像和163镜像也都不再可用. 但是我们有一些老的服务器仍然在使用centos6系统版本,依赖库的安 ...
- 带码农《手写Mybatis》进度3:实现映射器的注册和使用
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获!