gpt4 book ai didi

python - 使用 PGP 通过 Python 解密存储在 SFTP 服务器上的文件

转载 作者:行者123 更新时间:2023-12-05 06:14:26 25 4
gpt4 key购买 nike

我有一个 SFTP,我在该服务器上设置了 *.PGP 文件。我用来从 python 连接到 SFTP 的包是 Paramiko,如下所示。

import paramiko

transport = paramiko.Transport(json_data["host"], 22)
transport.connect(username=json_data["username"], password=json_data["password"])
sftp = paramiko.SFTPClient.from_transport(transport)

另外,我使用 pgpy 来解密消息。基本上 key 来自谷歌云存储桶并将其加载到钥匙串(keychain)中并解密文件

我已经为本地文件设置了解密,但似乎无法弄清楚如何解密服务器上的消息。

我无法使用 get 函数,因为我将在 Google 云函数上运行此代码,因此将无法访问本地目录。

有什么方法可以将文件加载到 Python 中,解密文件,然后将其加载到 Pandas 中。结束文件是一个 .CSV 文件。

用于解密本地文件的实际代码。

import pgpy
key = pgpy.PGPKey().from_file("path/to/file/keyfile.asc")

with key[0].unlock("password") as ukey:
message = pgpy.PGPMessage().from_file("path/to/file/file.pgp")
f = ukey.decrypt(message).message
print(f)

这将在本地解密消息。

最佳答案

您应该能够 download the file from SFTP server to memory (例如 BytesIO 对象)。然后使用 PGPMessage().from_blob .

像这样(未经测试):

with io.BytesIO() as fl:
sftp.getfo(file_name, fl)
fl.seek(0)
bytes = fl.read()
message = pgpy.PGPMessage().from_blob(bytes)

关于python - 使用 PGP 通过 Python 解密存储在 SFTP 服务器上的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62898874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com