目前测试下来可对txt,png,jpg,pdf,mp4,excel,word文件加密,加密后的文件除了txt格式的文件外都无法正常打开除非解密后
一、界面展示
1.jpg (30.08 KB, 下载次数: 0)
下载附件
软件界面
2024-9-22 20:30 上传
二、加密
加密后的文件会另存为并不会影响原文件,同时会生成一个存储加密文件的密钥文本为txt文件,如有同名文件会将其内容覆盖
2.jpg (126.35 KB, 下载次数: 0)
下载附件
选中文件
2024-9-22 20:30 上传
3.jpg (31.28 KB, 下载次数: 0)
下载附件
执行加密
2024-9-22 20:30 上传
4.jpg (19.1 KB, 下载次数: 0)
下载附件
文件路径
2024-9-22 20:31 上传
4.1.jpg (199.72 KB, 下载次数: 0)
下载附件
加密后文件
2024-9-22 20:30 上传
4.2.jpg (26.61 KB, 下载次数: 0)
下载附件
生成的密钥文件
2024-9-22 20:31 上传
三、解密
与加密时一样会将解密后的文件另存为
5.jpg (33.68 KB, 下载次数: 0)
下载附件
执行解密
2024-9-22 20:31 上传
6.jpg (103.98 KB, 下载次数: 0)
下载附件
解密后
2024-9-22 20:31 上传
代码实现原理
通过python的
[color=]open()
对文件进行二进制读写,"r"为字符串读,"rb"为二进制度,写入同理。
[Python] 纯文本查看 复制代码
with open(file_path, "rb") as f:
data = f.read()
with open(file_path, "wb") as f:
f.write(encrypted_data)
通过调用Crypto库对读取到二进制进行AES加密解密
加密:
[Python] 纯文本查看 复制代码
c_key = key.encode('utf-8')
p_k = pad(c_key, 16, 'pkcs7')
p_d = pad(data, 16, 'pkcs7')
c_mode = AES.MODE_ECB
c_cryption = AES.new(p_k, c_mode)
c_msg = base64.b64encode(c_cryption.encrypt(p_d))
解密:
[Python] 纯文本查看 复制代码
d_key = key.encode('utf-8')
mode_d = AES.new(pad(d_key, 16, 'pkcs7'), AES.MODE_ECB)
msg_d = mode_d.decrypt(base64.b64decode(data))
msg_d = unpad(msg_d, 16, 'pkcs7')
源码及其打包好的程序
解压密码为:www.52pojie.cn
AES加密解密.zip
(2.43 KB, 下载次数: 54)
2024-9-22 21:30 上传
点击文件名下载附件
源码及其程序包地址
下载积分: 吾爱币 -1 CB