我想对字节数组(编码字符串 + SHA-1 结果)使用zip 压缩,并从中得到一个字节数组,这样我就可以将它用于进一步加密,因为我正在实施 PGP。有没有办法在不将结果存储到文件中的情况下执行此操作?
您可以使用 Python 中 io 模块中的 io.BytesIO 类来处理内存中的字节流,而不是将 zip 结果存储到文件中。这允许您对字节数组执行 zip 压缩并将压缩数据作为字节数组获取。
import zipfile import io # Create an in-memory byte stream buffer = io.BytesIO() # Create a ZipFile object with the in-memory byte stream with zipfile.ZipFile(buffer, 'w', zipfile.ZIP_DEFLATED) as zipf: # Add data to the zip zipf.writestr('data.txt', data_bytes) # Get the compressed data as a byte array compressed_data = buffer.getvalue() # Now you can use the compressed_data byte array for further encryption or other purposes
您可以在官方 Python 文档中找到有关 zipfile 模块及其功能的更多信息:https ://docs.python.org/3/library/zipfile.html