我需要对文件进行加密,然后将其发送给另一个人,然后他就可以使用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端解密。
答案 0 :(得分:2)
您需要使用openssl
吗?
我使用命令行GnuPG,并且有非常好的Python库:python-gnupg。它是命令行gpg
的包装器,因此它们的工作方式完全相同。
您可以使用非对称加密技术代替密钥文件(我认为它包含密码)。为每个部分创建私钥/公钥对,然后使用收件人公钥加密邮件,并使用发件人私钥对其进行sigg。收件人将使用发件人公钥检查发件人的签名,收件人将使用她的私钥解密邮件。私钥可以通过密码保护,但如果您确定您的环境是安全的,则可以使用空密码。