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

时间:2013-02-28 06:37:08

标签: python encryption cryptography openssl

我需要对文件进行加密,然后将其发送给另一个人,然后他就可以使用shell对其进行解密。

我通常使用openssl命令加密文件:openssl enc -aes-256-cbc -salt -in [filename] -out [file out name] -pass file:[direct path to key file],然后发送文件。

然后另一个人将使用openssl命令再次解密该文件:openssl enc -d -aes-256-cbc -in [encrypted file] -out [file out name] -pass file:[direct path to key file]

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

1 个答案:

答案 0 :(得分:2)

您需要使用openssl吗?

我使用命令行GnuPG,并且有非常好的Python库:python-gnupg。它是命令行gpg的包装器,因此它们的工作方式完全相同。

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