我有一个运行在Windows Apache上的PHP文档存储库应用程序,该应用程序将使用以下命令对上传的任何文档进行AES加密:
echo MyPass34 | openssl.exe aes-256-cbc -pass stdin -salt -in somefile.pdf -out somefile.pdf
同时,您可以使用以下命令在下载时对它们进行解密:
echo MyPass34 | openssl.exe aes-256-cbc -pass stdin -d -in somefile.pdf -out decriptedfile.pdf
这个应用目前运行良好,人们可以在服务器上上传和下载文件,同时这些文件会被加密。现在问题是这个应用已经迁移到了一个Apache Linux服务器,而之前在Windows上加密的文件在Linux上无法正确解密。
为什么会出现这种情况?是否有可能调整解密命令以便正确地解密这些文件?
PS:在Linux上加密的新文件可以正确解密,与Windows上的情况相同,只有在Windows上编码后在Linux上解码的情况出现了问题。
-k 'MyPass34'
直接指定openssl的密码短语,而不是使用管道。 - caf