python - 如何在python中加密gzip文件
问题描述
我是python的新手,我正在开发一个需要gzip文件的应用程序[为了减小文件的大小,因为我使用的加密在> 2GB时不处理数据]然后加密它. 我能够压缩文本文件,从而减小大小。然后,读取文件内容,gzip.open
并发送数据进行加密。加密后,我必须再次将其写入gzip文件,这意味着它将再次gzip [gzipping the encrypted data]。但这是错误的。我的意图是压缩文件,然后对其进行加密并将文件中的加密数据发送到目标位置。
关于如何实现这一目标的任何建议?基本上,我想压缩文件并加密压缩后的数据,然后写回文件。因此接收方可以解密数据并解压缩以提取纯数据。
以下是我尝试过的代码:
def ungzip():
file_name = "/tmp/mygzipdata.json.gz"
json_data = "some json content"
try:
with gzip.open(file_name, 'wb') as output_file:
json.dump(json_data, output_file, indent=4, default=default)
gzip_file_contents = open(file_name, 'rb')
data = gzip_file_contents.read()
## my encryption code, where I will be encrypting "data"
gzip_file_contents.close()
gzip_file_contents = gzip.open(file_name, 'wb')
gzip_file_contents.write(encrypted_data)
gzip_file_contents.close()
except Exception as e:
print(e)
解决方案
推荐阅读
- discord.js - 如何创建命令创建角色 | 不和谐机器人
- python - 如何将输出写入csv
- java - 未处理的事件循环异常 - 休眠
- hive - 为什么使用 Sqoop 将表数据从 Oracle DB 导入 HIVE 时出现错误?
- react-native - React Native Text 样式(例如颜色、字体大小)不起作用
- apollo - apollo-server - 有条件地从选择集中排除字段
- postgresql - 我的 postgresql 容器 docker 上的远程控制工作但看不到表创建
- javascript - 忽略上下鼠标按下事件
- azure - 如何在 Azure Application Insight 仪表板中标记保留图
- c++ - OpenMP:共享同一算法的单线程和多线程实现