在 bash 中使用 PHP openssl_encrypt 加密并使用 openssl 解密

问题描述

我正在尝试用 PHP 加密一个字符串,然后直接在 bash 中用 openssh 解密它:

<?PHP
$var = 'hello';
$key = 'key';
$enc = openssl_encrypt($var,"aes-256-cbc",$key);
echo $enc;
?>

然后我直接在bash窗口中使用openssh中的输出

echo "string get from PHP" | openssl aes-256-cbc -a -d -pass pass:key

但是它不起作用,输出是:

bad magic number

我可以确认bash语句是正确的,因为如果我做下一个,它就可以了:

echo hello | openssl aes-256-cbc -a -pass pass:key | openssl aes-256-cbc -a -d -pass pass:key

结果是你好。

PHP 一样使用:

$dec = openssl_decrypt($enc,$key);

知道如何通过交叉它们、用 PHP 加密并用 bash 或相反的方式解密来做到这一点。

EDIT1:好的,我认为这可能与使用不同版本的 openssl 进行加密而不是解密有关,如本主题 (https://unix.stackexchange.com/questions/403314/bad-magic-number-on-decrypt) 中指出的那样

但是我还是不知道怎么做

有什么帮助吗?谢谢!!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)