AIX Openssl dgst hmac结果不同

时间:2018-06-27 11:58:39

标签: linux openssl sha1 aix hmac

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

我试图弄清楚为什么从shell执行以下命令时,AIX环境和其他Linux环境(对于我来说是CentOS)会有不同的结果:

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

在Centos 6上尝试的结果是

  

7f3bc86e4193c8809de24ba66821c724f85bb1e8

在AIX 7.1上的结果是

  

463eb074f3de44cb1b863153df74e7eb9c1d3b56

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

我想念什么?

请帮我弄清楚这种头痛的情况。

1 个答案:

答案 0 :(得分:1)

可悲的是,echo尚未标准化,或者它的标准化形式是printf

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

(stdin)= 7f3bc86e4193c8809de24ba66821c724f85bb1e8