Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php和公钥加密文件_Php_File - Fatal编程技术网

使用php和公钥加密文件

使用php和公钥加密文件,php,file,Php,File,我通过以下方式从控制台生成了密钥对(公共和私有): openssl smime-encrypt-aes256-in backup.sql-binary-DEM-out outform backup\u encrypted.sql public\u key.pem 我正确地加密了文件。Sql,就像我可以用php做的那样?我尝试了几个函数,但什么都没有 这里我留下一个 $data=file_get_contents("backup.sql"); $key=file_get_contents("pub

我通过以下方式从控制台生成了密钥对(公共和私有):

openssl smime-encrypt-aes256-in backup.sql-binary-DEM-out outform backup\u encrypted.sql public\u key.pem

我正确地加密了文件。Sql,就像我可以用php做的那样?我尝试了几个函数,但什么都没有

这里我留下一个

$data=file_get_contents("backup.sql");
$key=file_get_contents("public_key.pem");
openssl_public_encrypt($data,$output,$key);
echo $output;
$output不返回任何内容。。 谢谢。

请查看,您必须给出公钥的路径:

$data=file_get_contents("backup.sql");
$key="file://path/to/public_key.pem";
openssl_public_encrypt($data,$output,$key);
echo $output;

您可以创建文件\u get\u contents(),例如:

$data=file_get_contents("backup.sql");
$key= file_get_contents('public_key.pem');
openssl_public_encrypt($data,$output,$key);
echo $output;

在加密文件之前,我检查了这些代码片段及其工作情况。

。。您使用的是双向加密吗?一个是被动加密,这样它就不能被读取,另一个是解密,这样它就可以被读取?不起作用。。openssl\u public\u encrypt适用于大型文本文件?并且可以查看记录并获取此。。我刚才说的。。有什么解决办法吗?“错误:0406B06E:rsa例程:rsa_padding_add_none:数据对于密钥大小来说太大”tt@AitorChicharro如果您尝试:
openssl\u public\u encrypt($data、$output、$key、openssl\u NO\u PADDING)