OpenSSL SHA1哈希不匹配

时间:2013-10-28 12:48:10

标签: php shell openssl

我通过命令行使用以下命令通过OpenSSL生成SHA1哈希:

echo -n "test" | openssl dgst -sha1 -sign private.pem | openssl enc -base64

输出结果为:

mTuk4MicnS1Xn9BB4wed6pWe62CGDgj6imaOp9f3spiRo/W88WNac7sMkAYl37ruh82mbREbEzsFwCCdhO3MpGh/tyhb+2vx59tta1GTp5Nhb8PlnFL20Zh8QUrv6WrgvsI8z4IPG4KXCJw++7hBQHcnxa8dT5EMn1OW72MumG8=

当我通过PHP用exec()执行相同的命令时,我得到一个不同的输出:

YDGDpc0nC1uaFBO28uepQ/8hMhqoUhXIhqb0UTVCHA2oqWI7PeYyHBB1tmvQ8iqo/ZJzvkNxAruy6T67rdpz/4hyKh6hRxGvYNStteqv/Cn04yiSlgidiHnN2x5aoI6GdE/c0haiE/WmJlFTOcQdPztsQWOk2QUzWdwDmO0OjqE=

为什么?

这两个脚本都是通过同一个用户运行的,因为PHP脚本是以“nobody”运行的,我已经通过shell登录为无人并执行它...没有dfference

1 个答案:

答案 0 :(得分:2)

使用完整路径修复了问题!