python zip 和 AES 使用子进程加密输出
python zip and AES encrypt the output using subprocess
我是 python 的新手,我想压缩并使用子进程命令通过 python 在 AES 中加密输出。
我使用的标准shell命令如下:
zip -9 - test.txt | openssl enc -aes-256-cbc -md sha256 -out test.ENC -pass pass:123456
我尝试像下面这样在 python 中使用:
import subprocess
compress = subprocess.Popen(['zip', '-9', 'test.txt'], stdout=subprocess.PIPE,)
subprocess.Popen(['openssl enc -aes-256-cbc -md=sha256 -pass pass:123456 -out', stdin=compress.stdout], stdin=compress.stdout,)
我遇到一个错误:
File "test.py", line 3
subprocess.Popen(['openssl enc -aes-256-cbc -md=sha256 -pass pass:123456 -out test.ENC', stdin=compress.stdout], stdin=compress.stdout,)
有什么帮助吗?
谢谢
问题:
- 在我的openssl版本中,没有-aes-256-cbc。
- '-md=sha256'需要是'-md','sha256'
- 您是要将
openssl
的输出发送到管道吗?
import subprocess
compressor = subprocess.Popen(
['zip', '-9', 'test.txt'], stdout=subprocess.PIPE)
subprocess.Popen(
['openssl', 'enc', '-aes-256-cfb', '-md', 'sha256', '-pass','pass:123456'],
stdin=compressor.stdout)
我是 python 的新手,我想压缩并使用子进程命令通过 python 在 AES 中加密输出。
我使用的标准shell命令如下:
zip -9 - test.txt | openssl enc -aes-256-cbc -md sha256 -out test.ENC -pass pass:123456
我尝试像下面这样在 python 中使用:
import subprocess
compress = subprocess.Popen(['zip', '-9', 'test.txt'], stdout=subprocess.PIPE,)
subprocess.Popen(['openssl enc -aes-256-cbc -md=sha256 -pass pass:123456 -out', stdin=compress.stdout], stdin=compress.stdout,)
我遇到一个错误:
File "test.py", line 3
subprocess.Popen(['openssl enc -aes-256-cbc -md=sha256 -pass pass:123456 -out test.ENC', stdin=compress.stdout], stdin=compress.stdout,)
有什么帮助吗? 谢谢
问题:
- 在我的openssl版本中,没有-aes-256-cbc。
- '-md=sha256'需要是'-md','sha256'
- 您是要将
openssl
的输出发送到管道吗?
import subprocess
compressor = subprocess.Popen(
['zip', '-9', 'test.txt'], stdout=subprocess.PIPE)
subprocess.Popen(
['openssl', 'enc', '-aes-256-cfb', '-md', 'sha256', '-pass','pass:123456'],
stdin=compressor.stdout)