AIX Openssl dgst hmac 结果不同

AIX Openssl dgst hmac result differ

经过长时间的搜索和尝试,我请求您的帮助。

我试图弄清楚为什么 AIX 环境和其他 Linux 环境(对我来说是 CentOS)在从 shell:

echo -n 37f3173afe3d73698a0d21e88f92gg38ABCDEFGINGRTSA221987327123test1529947146 | openssl dgst -sha1 -hmac 17fd3326gg375316228d18b55600848f

在尝试的 Centos 6 上的结果是

7f3bc86e4193c8809de24ba66821c724f85bb1e8

AIX 7.1 上的结果是

463eb074f3de44cb1b863153df74e7eb9c1d3b56

我不知道它是否相关,但如果我从两个环境的回显中删除“-n”,结果是匹配的,但显然都是错误的。

我错过了什么?

请帮我解决这个令人头疼的问题。

遗憾的是,echo 没有标准化,或者更确切地说,它的标准化形式是 printf:

ksh@aix$ printf '%s' 37f3173afe3d73698a0d21e88f92gg38ABCDEFGINGRTSA221987327123test1529947146 |
         openssl dgst -sha1 -hmac 17fd3326gg375316228d18b55600848f

(stdin)= 7f3bc86e4193c8809de24ba66821c724f85bb1e8