吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1307|回复: 13
上一主题 下一主题
收起左侧

[Python 原创] 文件内容AES加密解密

[复制链接]
跳转到指定楼层
楼主
clown9s 发表于 2024-9-22 21:37 回帖奖励
本帖最后由 clown9s 于 2024-9-22 22:00 编辑

功能及界面演示
目前测试下来可对txt,png,jpg,pdf,mp4,excel,word文件加密,加密后的文件除了txt格式的文件外都无法正常打开除非解密后
一、界面展示


二、加密
加密后的文件会另存为并不会影响原文件,同时会生成一个存储加密文件的密钥文本为txt文件,如有同名文件会将其内容覆盖





三、解密
与加密时一样会将解密后的文件另存为



代码实现原理
通过python的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, 下载次数: 78)

免费评分

参与人数 2吾爱币 +8 热心值 +2 收起 理由
myao + 1 + 1 谢谢@Thanks!
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
 楼主| clown9s 发表于 2024-9-26 21:21 |楼主
milu1123 发表于 2024-9-26 13:35
这个好像只能加密文本文件把?

我又去测试了一遍上述所说的文件格式,是可以加密的只是文本文件加密后可以正常打开,其他文件无法正常打开需解密后才能正常打开。
推荐
Yathon 发表于 2024-9-23 15:21
很实用,希望支持多种加密方式,尤其是证书加密更好。

编码为 Base64会增大大小,可以省略转编码更好一点。
沙发
xm65R 发表于 2024-9-23 00:07
3#
bdcpc 发表于 2024-9-23 07:47
aes 还可以这样用
4#
zk1126853389 发表于 2024-9-23 09:52
感谢 分享
6#
 楼主| clown9s 发表于 2024-9-23 18:57 |楼主
Yathon 发表于 2024-9-23 15:21
很实用,希望支持多种加密方式,尤其是证书加密更好。

编码为 Base64会增大大小,可以省略转编码更好一 ...

谢谢,有空的话我会去考虑的
7#
lorne 发表于 2024-9-24 10:23
大佬列害啊,一个字牛
8#
ysjd22 发表于 2024-9-26 08:40
非常好,可以借鉴学习了
9#
milu1123 发表于 2024-9-26 13:35
这个好像只能加密文本文件把?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-14 11:45

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表