Python:使用GPG和子进程进行对称加密

nalyd88

我正在尝试实现以下bash命令在Python中提供的功能。

echo "$DATA" | gpg --symmetric --armor --batch --passphrase "${KEY}"

到目前为止,我已经尝试使用subprocess但在传递数据方面遇到困难。我尝试将其作为要发送的参数列表中的命令给出,subprocess但这只是有效地回响了整个过程。

cmd = f"| gpg --symmetric --armor --batch --passphrase {key}".split()                                                  
temp = ["echo", f"\"{data}\""]
temp.extend(cmd)                                                                                                                      
res = subprocess.run(temp, stdout=subprocess.PIPE, universal_newlines=True)                                                          
encrypted = res.stdout.strip()

我也对使用python-gnupg模块感兴趣,但还没有弄清楚如何用它复制上面的内容。

在此先感谢您的帮助!

布拉德·所罗门

您可以inputrun()/使用参数check_output()

from getpass import getpass
import subprocess

key = getpass("KEY: ")
data = b'Symmetric Encryption with GPG and Subprocess'
command = ["gpg", "--symmetric", "--armor", "--batch", "--passphrase", key]

out = subprocess.check_output(command, input=data, universal_newlines=False)

注意,echo默认情况下,GNU将添加换行符。使用echo -n不打印尾随\n无论哪种方式,您都需要小心地在Python中模仿它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用gpg使用对称密码从STDIN进行加密?

来自分类Dev

如何使用gpg对称加密文件?

来自分类Dev

使用GPGME进行对称加密

来自分类Dev

使用Python的简单对称加密

来自分类Dev

使用 Python 3.8 和 Linux Bash 进行子进程

来自分类Dev

SSH何时使用非对称和对称加密?

来自分类Dev

创建新的GPG子密钥后,我该如何使用其上一个GPG子密钥进行加密?

来自分类Dev

在Python中使用Fernet进行对称加密-主密码用例

来自分类Dev

如何找出用于PGP加密(使用GPG)的对称加密算法?

来自分类Dev

GPG更改对称加密密码

来自分类Dev

gnupg:使用特定的密钥对stdin进行对称加密

来自分类Dev

Linux中的Python:使用Shell杀死进程和子进程

来自分类Dev

如何使用可以使用gpg解密的对称AES256用Ruby加密文件?

来自分类Dev

如何使用可以使用gpg解密的对称AES256用Ruby加密文件?

来自分类Dev

HTTPS使用非对称或对称加密?

来自分类Dev

Jasypt和非对称加密

来自分类Dev

对称和公钥加密

来自分类Dev

如何使用gpg更新过期的加密子密钥

来自分类Dev

JWT使用非对称加密

来自分类Dev

子进程和父进程之间使用pipe()进行管道通信

来自分类Dev

使用两个管道在父进程和子进程之间进行通信

来自分类Dev

邮件使用gpg加密

来自分类Dev

邮件使用gpg加密

来自分类Dev

python子进程和mysqldump

来自分类Dev

python子进程和shlex

来自分类Dev

GPG-具有TWOFISH对称加密的最大密钥大小

来自分类Dev

涉及gpg对称加密的bash脚本的安全性

来自分类Dev

使用Python子进程和字符串格式

来自分类Dev

如何在Python和子进程中使用套接字?