以下适用于bash(/ bin / bash):
代码:
echo "U2FsdGVkX198UexvhHEtfC7iLbT3awAfla77fvSjZQJ0LC4GmDMeLOghPWXpyy6e" | openssl aes-128-cbc -a -d -salt -pass file:<( echo -n "toy" )
Fri Sep 15 15:20:01 PDT 2017
但是在sh(/ bin / sh)中运行时失败:
代码:
echo "U2FsdGVkX198UexvhHEtfC7iLbT3awAfla77fvSjZQJ0LC4GmDMeLOghPWXpyy6e" | openssl aes-128-cbc -a -d -salt -pass file:<( echo -n "toy" )
sh: 15: Syntax error: "(" unexpected
有没有办法解决这个问题?
正如您在此处所看到的,我使用命名管道作为密码,并且id喜欢继续这样做。我只需要这个(或非常接近的变体)在/ bin / sh中工作。
操作系统:所有Unix风格。
答案 0 :(得分:0)
您可以明确使用命名管道:
mkfifo passwd
printf '%s' "toy" > passwd &
echo "U2FsdGVkX198UexvhHEtfC7iLbT3awAfla77fvSjZQJ0LC4GmDMeLOghPWXpyy6e" |
openssl aes-128-cbc -a -d -salt -pass file:passwd
rm passwd