在bash中为> 1个程序传递密码的安全方法
我正在编写bash脚本,需要询问用户密码并将其传递给openssl。虽然openssl可以读取密码本身,但我需要运行两次程序,并且不想两次询问用户。这是脚本: cp file{,.old} read -sp 'Enter password. ' PASS; echo export PASS # decode | edit | encode openssl enc -d -aes-256-cbc -k "$PASS" -in file.old | \ sed ... | openssl enc -e -aes-256-cbc -k "$PASS" -out file unset PASS 这是不安全的,因为通过查看命令行很容易获得密码。ps例如,有人可以使用阅读它。 openssl可以从环境变量中读取密码,因此可以替换-k "$PASS"为-pass env:PASS,但这仍然不安全;任何进程的环境变量都可以自由读取(再次ps可以做到)。 那么,如何安全地将密码传递给两个openssl实例?