如何使用 PHP 加密上传的图像文件(如www.yahoo.com/images/image1.jpg)并在浏览器中显示时解密?我想将它保存在不在数据库中的文件夹中。
答案 0 :(得分:-1)
所有上传的文件都由PHP存储在临时文件夹中。
在提交表单后,可以通过PHP设置的$ _FILES ["文件"] [" 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脚本。因此,他们会知道您使用了哪种加密方法,并且可能会发现解密加密文件的方法。
更好的加密策略:Best way to use PHP to encrypt and decrypt passwords?