PHP ImageMagick - 保护图像


在本章中,您将学习如何保护图像,以便只有发送者和目标接收者才能看到网页上的图像。

PHP Imagemagick 提供图像处理和操作,使您可以保护您的图像免遭盗窃或未经授权的使用。现在,我们将讨论 PHP Imagemagick 的功能以及它们如何帮助您保证图像安全。

加密图像

Imagemagick 中名为“encipherImage()”的内置函数有助于对图像进行加密。将纯像素图像转换为加密像素是此函数中发生的过程。加密的图像只能由能够使用给定的密钥(“密码短语”)解密图像的观看者来查看。

句法

public Imagick::encipherImage(string $passphrase): bool

该函数采用一个参数“passphrase”作为加密和解密图像的密钥。它将图像作为输入,并使用密码对图像进行加密,并生成加密图像作为输出。

例子

在下面的示例中,显示了“encipherImage()”函数的实现。首先,必须创建一个新的 imagick 对象,并将图像作为输入。定义“密码短语”,它是作为参数传递的字符串。然后,在密码短语的帮助下应用“encipherImage()”函数,并获得加密图像作为输出。

<?php
   $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/image.jpeg");
   $passphrase="Tutorials Point";
   $image->encipherImage($passphrase);
   $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/encipherImage.png");
?>

假设以下是程序中的输入图像(image.jpeg) -

图像加密

输出

图像加密

解读图像

Imagemagick 提供了一个内置函数“decipherImage()”,它有助于解密图像。将加密图像转换为明文图像的过程称为图像解密。该函数将加密图像作为输入,使用密码将该图像转换为明文图像,并生成明文图像作为输出。

句法

public Imagick::decipherImage(string $passphrase): bool

该函数将“密码”作为参数。它有助于破译图像。

例子

以下示例显示如何实现“decipherImage()”函数。首先,创建一个新的 Imagick 对象并传递图像作为输入。您还需要定义一个作为参数传递的密码字符串。最后,使用“decipherImage()”函数和您的密码来获取解密的图像作为输出。

<?php
   $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/encipherImage.png");
   $passphrase="Tutorials Point";
   $image->decipherImage($passphrase);
   $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/decipherImage.png");
?>

假设以下是程序中的输入图像(encipherImage.png) -

破译图像

输出

破译图像