OpenSSL SHA1 Hash doesn't match


OpenSSL SHA1 Hash doesn't match

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

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

输出为:

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

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

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

为什么?

两个脚本都通过同一个用户运行,由于 PHP 脚本以"没有人"的身份运行,我已经通过 shell 以没有人的身份登录并执行了它......没有

使用完整路径解决了问题!