文件内容AES加密解密

功能及界面演示


目前测试下来可对txt,png,jpg,pdf,mp4,excel,word文件加密,加密后的文件除了txt格式的文件外都无法正常打开除非解密后


一、界面展示

二、加密


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

三、解密


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

代码实现原理


通过python的open()对文件进行二进制读写,"r"为字符串读,"rb"为二进制度,写入同理。

with open(file_path, "rb") as f:
    data = f.read()
with open(file_path, "wb") as f:
    f.write(encrypted_data)

通过调用Crypto库对读取到二进制进行AES加密解密
加密:

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))

解密:

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')

程序下载链接

GitHub项目地址含源码:https://github.com/clown-l-z-w/AES_ed 

链接:https://pan.baidu.com/s/1si2R7jWx2Xe3crOr-MxOxQ?pwd=v1mc 
提取码:v1mc

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值