如何使用python加密文件,但可以使用shell解密?

如何使用python加密文件,但可以使用shell解密?,python,encryption,cryptography,openssl,Python,Encryption,Cryptography,Openssl,我需要加密一个文件,将其发送给另一个人,然后这个人只能使用shell对其进行解密 我通常使用openssl命令对文件进行加密:openssl enc-aes-256-cbc-salt-in[filename]-out[file out name]-pass file:[密钥文件的直接路径],然后发送文件 然后,另一个人将使用openssl命令再次解密该文件:openssl enc-d-aes-256-cbc-in[encrypted file]-out[file out name]-pass f

我需要加密一个文件,将其发送给另一个人,然后这个人只能使用shell对其进行解密

我通常使用
openssl
命令对文件进行加密:
openssl enc-aes-256-cbc-salt-in[filename]-out[file out name]-pass file:[密钥文件的直接路径]
,然后发送文件

然后,另一个人将使用
openssl
命令再次解密该文件:
openssl enc-d-aes-256-cbc-in[encrypted file]-out[file out name]-pass file:[密钥文件的直接路径]


我会使用
os.system
来做这件事,但我觉得必须有另一种方法用python加密文件,然后可以在shell端解密。

您需要使用
openssl

我使用命令行GnuPG,有一个非常好的Python库:。它是命令行
gpg
上的包装器,因此它们的工作原理完全相同


您可以使用非对称加密,而不是密钥文件(我认为它包含密码)。为每个部分创建私钥/公钥对,然后使用收件人公钥加密邮件,并使用发件人私钥签名。收件人将使用发件人公钥检查发件人的签名,收件人将使用其私钥解密邮件。私钥可以通过密码保护,但如果您确信您的环境是安全的,您可以使用空密码。

这将非常有效,但有没有办法将密钥发送给其他人?我认为您可以使用非对称加密,正如我在编辑的答案中所述。+1虽然与问题无关,这比对称加密(通过
openssl
)更好,因为有很多操作原因,包括您不需要共享密钥文件