我正在使用MacOS / 10.13
我在终端上的代码:
echo -n this | openssl enc -aes-128-cbc -K 0 -iv 0 -base64
c代码:
int main(){
system("echo -n this | openssl enc -aes-128-cbc -K 0 -iv 0 -base64");
}
运行ScreenShot
答案 0 :(得分:1)
echo
命令有一个问题,即其行为无法在不同的Shell或环境之间移植。最好改用printf
,因为它是可移植的。在您的情况下,将echo -n
语句替换为printf
,得到以下代码:
#include <stdlib.h>
int main() {
system("printf this | openssl enc -aes-128-cbc -K 0 -iv 0 -base64");
}
构建和运行:
$ gcc test.c -o test
$ ./test
gc8X3os/mFxDE73AebmweQ==
根据需要。