0

Q1: linux 下使用

echo aaaaa | openssl rsautl -sign -inkey xxxx.pem | openssl enc -base64 

得到的值与
windows 下相同的操作得出来的值 不同

Q2:上面 linux 下的命令,用 python 处理的话怎么写?

ps : 尝试了多种方法,得出来的签名后的值都与 linux 下的不同。

2个回答

1

"echo aaaaa"输出的结果带回车,即“aaaaa\n”,要输出纯字符串“aaaaa”的话需要使用"echo -n aaaaa",不确定是不是这个原因,仅供参考

0

实际上问题出在linux和windows输出时字符时的问题,在Linux上会追加\n,而在Windows上会追加\r\n。对于这种情况,可以使用python来进行兼容:

import base64
data = 'aaaaa'
base64.b64encode(data)
>>> 'YWFhYWE='

而你中间还有1个加密的过程,这里会不展示了。

撰写答案