查看由 Codeigniter 的 Encrypt Class 加密的文件

View a File Encrypted by the Encrypt Class of Codeigniter

我使用了codeigniter的加密class来加密我服务器中上传的文件。然后,只要我不想像这样访问它,我就会解密它:

$decrypted = $this->encrypt->decode($fileContents);

我现在的问题是我不知道如何处理我的变量 $decrypted,我想查看我的文件,但据我目前为止用 google 搜索,查看文件的函数需要一个参数,它是a url,但我不想为了查看它而将解密文件保存在服务器中。我需要帮助。

您的问题是 codeIgniter encrypt class 还是文件查看问题?我的意思是,你正在解码文件吗?

如果您在配置文件中提供了加密密钥,只需检查这些。即,

    $config['encryption_key'] = 'some_key';

1.Have 你加载了 codeIgniter class ?

    $this->load->library('encrypt');

2.If你的待编码文件是一个浏览页,你看对了文件内容吗?

    $fileContents = $this->load->view('file_name','',TRUE);

3.encode 文件

    $encrypted_string = $this->encrypt->encode($fileContents);

4.decode 文件

    $plaintext_string = $this->encrypt->decode($encrypted_string);

第三步后会得到一长串乱码,这就是加密后的字符串。 第四步后,您将取回文件内容。

你可以回显每个步骤的结果来验证。

希望这能让您了解 codeIgniter 加密 class。

@Ismael Miguel 是对的。我只需要用正确的Content-type吐出给浏览器:/header。像这样:

header("Content-type:application/pdf");
echo $decrypted;

我知道如果此人有一个插件可以在浏览器中查看它,该文件就会出现。我认为有更好的方法来做到这一点。