PHP OpenSSL加密问题

PHP OpenSSL加密问题,php,encryption,openssl,Php,Encryption,Openssl,所以我尝试用openssl加密和回显一个文件。获取我的文件内容是可行的,但是在我调用函数进行加密之后,它不会回显任何内容,就好像这是一个语法错误一样 $file = file_get_contents($filename); //echo $file; // works $encfile = openssl_encrypt($file, $encmethod, $enckey, 0, $iv); echo $encfile; 是的,我所有的加密密钥和一切都是有效的。加密后回显任何内容都不起作用

所以我尝试用openssl加密和回显一个文件。获取我的文件内容是可行的,但是在我调用函数进行加密之后,它不会回显任何内容,就好像这是一个语法错误一样

$file = file_get_contents($filename);
//echo $file; // works
$encfile = openssl_encrypt($file, $encmethod, $enckey, 0, $iv);
echo $encfile;

是的,我所有的加密密钥和一切都是有效的。加密后回显任何内容都不起作用。如果有人知道出了什么问题,请告诉我。

我允许php使用更多内存

ini_set('memory_limit','512M');

现在它就像一个符咒。

我不会增加更多的记忆

我最近也遇到了类似的问题

我是如何修复的,我一次加密了几MB的文件块,然后用一个
将base64编码的块分开,它在base64中没有出现

然后,当你解码它时,你读它,告诉你得到
解密它,然后转到下一个块

这样,您的内存将大大低于限制…:)

看到我几天前发布的答案了吗


-注意-我将PHPSecLib用于AES,我们已经将其用于sFTP,我必须从
mycrypt
更新我们即将迁移到PHP7的操作。

检查您的错误日志。告诉我们,
$encmethod
$iv
的值是多少。另外,
$enckey
的字节长度是多少?还应要求检查错误日志。是否?@MattClark
$encmethod=“AES-256-CBC”$iv是16字节$enckey是32字节,它们是基于时间的,以前可以处理较小的文件。那么,在@zerk询问之后,日志显示了什么?如果您无权访问日志,则将错误报告设置为“捕获并显示”。什么版本的PHP?我使用
ini_集('memory_limit','3G')在我的服务器上lol,真的。但这只是一次,通常PHP只有
1G
,但我不得不从数据库中取出1.3亿行,并将它们移动到MongoDB。。。英雄联盟