gpt4 book ai didi

c - 用c系统函数执行openssl命令和在终端执行openssl命令输出是不一样的

转载 作者:行者123 更新时间:2023-12-02 02:47:58 25 4
gpt4 key购买 nike

我正在使用 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");
}

运行截图

enter image description here

enter image description here

最佳答案

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==

根据需要。

关于c - 用c系统函数执行openssl命令和在终端执行openssl命令输出是不一样的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53498594/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com