我在客户端加密一个文件,并试图在我的linux服务器上使用openssl命令解密它,它创建了输出文件,但大小为0字节。
我在php中用来解密文件的代码是:
system("openssl enc -d -aes-192-ecb -in secure.cxf -out plain.xml -K 11223344556677889900aabbccddeeff0011223344556677");
这里我在ECB模式下使用具有192位(24字节)密钥的AES,
哪里
secure.cxf是与php文件位于同一文件夹中的输入文件
plain.xml是带有0字节的输出文件
11223344556677889900aabbccddeeff0011223344556677是我的解密私钥
我已经在不同的linux操作系统上尝试了相同的openssl命令,该命令工作正常,但在服务器上它使输出文件为空。你知道怎么解决空文件的问题吗?有没有其他方法可以对php服务器上的文件进行同样的解密(AES,ECB模式,192位密钥)?
提前谢谢。
发布于 2013-08-08 19:15:51
试试下面的一个:
a)创建空文件plain.xml和对0666 chmod 0666 plain.xml的权限
或
b)在php文件的父目录上设置权限。chmod 0777 DirectoryWithMyFile
您可以在FTP客户端或SSH中执行此操作。
另一种方法-从phpinfo()找到tmp目录并使用此目录。
发布于 2013-08-08 22:01:22
我用php的另一种方式解决了我的解密问题。如果任何人在寻找同样的东西,请遵循这篇文章。
https://stackoverflow.com/questions/18124403
复制相似问题