openssl_encrypt和Crypto JS

时间:2016-06-16 15:04:34

标签: javascript php pdf encryption

我试图用PHP加密文件并在JS中解密,使用CryptoJS作为库来解密。

要加密的代码:

$e = openssl_encrypt(mb_convert_encoding($data, "UTF-8"), $method, hex2bin($key), 0, hex2bin($iv));
$fp = fopen($destination, 'w')
$write = fwrite($fp, bin2hex( base64_decode( $e )))

在客户端,我使用以下代码生成pdf

window.open("data:application/pdf;base64," + btoa(decrypted.toString(CryptoJS.enc.Utf8)),"Testing");

当它尝试生成pdf时,返回以下错误:

InvalidCharacterError: String contains an invalid character
...n("data:application/pdf;base64," + btoa(decrypted.toString(CryptoJS.enc.Utf8)),"...

初始PDF文档是使用MPDF库生成的,但如果我使用表单上传此pdf,效果很好,如果我生成pdf,存储在文件夹中并尝试加密,则返回上述错误。

由于

EDITED

经过几次测试后,我发现问题出在$ mpdf->输出之间(" ..",F);并打开文件进行加密。

如果我评论我创建pdf的行,加密功能运行良好,如果我一个接一个地执行,加密文件就不起作用。

似乎在输出缓冲区或类似的东西之间存在冲突。

知道如何解决这个问题吗?

由于

0 个答案:

没有答案