不同壳中的不同openssl响应

时间:2017-09-16 21:30:57

标签: bash openssl sh

以下适用于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风格。

1 个答案:

答案 0 :(得分:0)

您可以明确使用命名管道:

mkfifo passwd
printf '%s' "toy" > passwd &
echo "U2FsdGVkX198UexvhHEtfC7iLbT3awAfla77fvSjZQJ0LC4GmDMeLOghPWXpyy6e" | 
  openssl aes-128-cbc -a -d -salt -pass file:passwd
rm passwd