4

如何使用PHP加密上传的图像文件(如www.yahoo.com/images/image1.jpg )并在浏览器中显示时解密?我想将它保存在文件夹中而不是数据库中。

4

1 回答 1

-1

所有上传的文件都由 PHP 存储在一个临时文件夹中。

在提交表单后,可以通过 PHP 设置的 $_FILES["file"]["tmp_name"] 变量访问此临时文件路径。

然后,您可以使用 base64_encode() 等编码(非加密)算法对图像数据进行编码,然后使用 base64_decode() 对其进行解码以进行显示。

<?php
      $image_binary = fread(fopen($_FILES["file"]["tmp_name"], "r"), 
                                filesize($_FILES["file"]["tmp_name"]));

       $encoded_image =  base64_encode($image_binary);
       //Save the image file with file data set as $encoded_image
?>

要记住的另一件事是,任何具有管理员访问权限的人(例如您的主机)都可以看到您的 PHP 脚本。这样他们就会知道您使用了哪种加密方法,并且可能会找到解密加密文件的方法。

更好的加密策略:使用 PHP 加密和解密密码的最佳方法?

于 2012-05-17T09:26:49.240 回答